Actionlistener passt nicht zu Dataset

youngster

Aktives Mitglied
Ich möchte die Datenauswahl zu einem Diagramm ermöglichen, sodass man Datensatz 0, 1, 2 sichtbar machen kann. Dazu habe ich:
1. Eine Checkbox erzeugt
Java:
JPanel boxPanel = new JPanel();
JCheckBox box1 = new JCheckBox("Series 0");
box1.setActionCommand("S0");
box1.addActionListener(this);
2. Eine Kontrolle für Veränderungen hinzugefügt
Java:
int series = -1;
if (e.getActionCommand().equals("S0")) {
series = 0;
}
if (series >= 0) {
boolean visible = this.renderer.getItemVisible(series, 0);
this.renderer.setSeriesVisible(series, new Boolean(!visible));
}
3. Ein Beispieldatensatz erzeugt
Java:
XYSeriesCollection dataset = new XYSeriesCollection();
for (int i = 0; i < 3; i++) {
XYSeries series = new XYSeries("S" + i);
for (int j = 0; j < 10; j++) {
series.add(j, Math.random() * 100);
}
dataset.addSeries(series);
}
Ich denke die Datensatz-ID passt nicht zu dem Kontroll-Code, ich sehe es aber nicht 😱. Danke
 
funktioniert die Chart-Anzeige an sich?
der ActionListener dazu ist doch erstmal nebensächlich, probiere das ganze mit

Java:
int series = testwert, z.B. 1;
System.out.println("series ist: "+series);
usw.
geht das? mit verschiedenen Werten, evtl. mehrfach im Programm wenn benötigt?
wenn fertig dann kannst du danach deine Buttons oder wer weiß was einbauen, am System.out.println() erkennst du ob der richtige Wert gesetzt wurde,
des Rest muss dann ja genauso funktionieren wie vorher
 
mein letztes Posting enthält 6-9 Zeilen, je nachdem ob man den Code mitzählt,
deine Antwort scheint sich nur auf die erste Zeile zu beziehen, wenn die die anderen 5-8 mehr oder weniger ignorierst, kann ich kaum neues beitragen

und die erste Zeile beinhaltet auch: funktioniert überhaupt bei dir schon das Filtern von Linien in der Chart?
 
Entschuldigung, du hast recht, ich bin nicht den vollen Umfang deiner Hinweise/Antwort nachgegangen. Deine Kontrollzeile
Java:
System.out.println("series ist: "+series);
)
habe ich in den Code unter 2 ergänzt.
In der Tat bekomme ich eine Rückmeldung:
1. Rückmeldung: series ist: 0 - das ist gut
2. Rückmeldung: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Ist das ein Hinweis für dich, was ich ändern oder weiter untersuchen muss?
 
das kann man als Hinweis verstehen, in der Tat,
ist die Exception nicht länger, noch mit Klassen und Zeilenangaben? die Zeile des Fehlers genauer untersuchen, falls in deinem Code,
ansonsten notfalls mit weiteren Ausgaben erkennen, bis wie weit es funktioniert

edit: umso besser
 

Neue Themen


Zurück
Oben