Hallo,
ich habe ein merkwürdiges Problem und schon gefühlt 1000 Dinge probiert, aber bin zu keinem Ergebnis gekommen.
Im Prinzip ganz simpel:
1.) Eine JCombobox wird mit Namen gefüllt.
2.) Dann kann man auf zwei Arten einen Namen auswählen:
2.a) Wähle ich einen Namen aus der JCombobox aus, sollen in einem Panel verschiedene Infos angezeigt werden. Labels usw. werden auch richtig angezeigt, dann ist da aber noch ein Panel, auf den ich ein Diagramm zeichnen lasse.
2.b) Es gibt neben der Auswahl über die JCb noch zwei JButtons für "nächsten" und "vorherigen" Namen.
Das Problem:
Wählen ich einen Namen über die zwei Knöpfe aus, wird das Diagramm korrekt angezeigt.
Wähle ich den Namen über die JCombobox aus, ist das Diagramm kurz zu sehen und verschwindet dann gleich wieder.
Ich vermute, irgendwas wird aus irgendeinem Grund neu gezeichnet und die Grafik (das Diagramm) wird übermalt. Aber wieso und wo und wie kann ich das Problem lösen?
Bin für jede Hilfe dankbar!
Hier die Code-Schnipsel der beteiligten Methoden:
Das ist die Methode der JCombobox:
Das ist die Methode showNamenDetails():
In der Methode "calculateValues()" werden die benötigten Infos berechnet und dort wird schließlich die Methode zum zeichnen der Graphen aufgerufen:
Nun die Methode des Knopfes "nächsten", die das Diagramm richtig anzeigt, ohne das es verschwindet. Es wird praktisch nur eine Aktion auf der JCombobox durchgeführt.
ich habe ein merkwürdiges Problem und schon gefühlt 1000 Dinge probiert, aber bin zu keinem Ergebnis gekommen.
Im Prinzip ganz simpel:
1.) Eine JCombobox wird mit Namen gefüllt.
2.) Dann kann man auf zwei Arten einen Namen auswählen:
2.a) Wähle ich einen Namen aus der JCombobox aus, sollen in einem Panel verschiedene Infos angezeigt werden. Labels usw. werden auch richtig angezeigt, dann ist da aber noch ein Panel, auf den ich ein Diagramm zeichnen lasse.
2.b) Es gibt neben der Auswahl über die JCb noch zwei JButtons für "nächsten" und "vorherigen" Namen.
Das Problem:
Wählen ich einen Namen über die zwei Knöpfe aus, wird das Diagramm korrekt angezeigt.
Wähle ich den Namen über die JCombobox aus, ist das Diagramm kurz zu sehen und verschwindet dann gleich wieder.
Ich vermute, irgendwas wird aus irgendeinem Grund neu gezeichnet und die Grafik (das Diagramm) wird übermalt. Aber wieso und wo und wie kann ich das Problem lösen?
Bin für jede Hilfe dankbar!
Hier die Code-Schnipsel der beteiligten Methoden:
Das ist die Methode der JCombobox:
Java:
private void cb_namenItemStateChanged(java.awt.event.ItemEvent evt) { if (evt.getStateChange() == ItemEvent.SELECTED) {
if (!isFillingCBnamen && cb_namen.getItemCount() > 0
&& cb_namen.getSelectedIndex() != 0) {
clearDetailsButNotNamenCB();
showNamenDetails();
} else if (!isFillingCBnamen && cb_namen.getSelectedIndex() == 0) {
clearDetailsButNotNamenCB();
disableCBsAndSaveButton();
}
}
}
Java:
private void showNamenDetails() {
...
calculateValues();
...
}
Java:
private void printGraph() {
// graph ist das JPanel, auf dem das Diagramm gezeichnet wird
Graphics2D g2 = (Graphics2D) graph.getGraphics();
// hier wird gezeichnet
}
Nun die Methode des Knopfes "nächsten", die das Diagramm richtig anzeigt, ohne das es verschwindet. Es wird praktisch nur eine Aktion auf der JCombobox durchgeführt.
Java:
private void btn_next_namenActionPerformed(java.awt.event.ActionEvent evt) {
if (cb_namen.getSelectedIndex() < cb_namen.getItemCount() - 1) {
cb_namen.setSelectedIndex(cb_namen.getSelectedIndex() + 1);
}
}