package Charts; import java.applet.*; import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; public abstract class Chart extends Applet implements ActionListener { Graphics2D g2d; Colors c; Data data; String[] errors; public abstract void paintChart(); public void init() { /* * Parameters ophalen */ String uni = this.getParameter("UNIVERSITEITEN"); String[] universiteiten; LinkedList l = new LinkedList(); String[] uniNew; int biggest = 0; /* * kijk of de UNIVERSITEITEN parameter bestaat */ if (uni != null) { uniNew = uni.split(" "); universiteiten = new String[uniNew.length]; errors = new String[uniNew.length]; /* * parameters + waarde in een array stoppen */ for (int i = 0; i < uniNew.length; i++) { int value; /* * controleer of het een integer is */ try { value = Integer.parseInt(this.getParameter(uniNew[i])); /* * sneaky truukje om in de exception te komen * als het een negative integer is, hierdoor vermijden we * 2 regels code duplicatie :) */ if(value < 0){ Math.abs(value/0);} } catch (Exception e) { value = 0; errors[i] = uniNew[i]; } /* * zorg dat de grootste laatste is zodat je bij afrondsproblemen * de rest bij de grootste alles toevoegd en dan loop je niet * het risico dat als de laatste 0 is dat er toch een slice in * de chart voorkomt */ if (value > biggest) { biggest = value; l.addLast(uniNew[i] + " " + value); } else { l.addFirst(uniNew[i] + " " + value); } } universiteiten = (String[]) l.toArray(new String[0]); data = new Data(universiteiten); }else { uniNew = new String[0]; } JComboBox uniLijst = new JComboBox(uniNew); JTextField value = new JTextField(); uniLijst.setSelectedIndex(4); uniLijst.setBounds(10,400,100,20); value.setBounds(140,400,100,20); this.setLayout(null); this.add(uniLijst); this.add(value); //uniLijst.addActionListener(this); } public void paint(Graphics g){ } public void actionPerformed(ActionEvent e) { this.repaint(); } }