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();
}
}