Ich will mit einem Druck auf r die Rekorde anzeigen (Panel). Da ich zu wenig Platz habe, wird ein Panel durch ein anderes ersetzt. Funktioniert alles. Wenn ich es mit einem zweiten Druck auf r wieder rückgängig machen will, geht es jedoch nicht. Das Panel bleibt. Ich habe keine Ahnung warum ...
Wenn die Rekorde nicht angezeigt werden, dann lösche ich erst alle Panels (insgesamt 3) aus dem dataPanel (grosser Container der alle Panels enthält). Danach füge ich nach einander wieder die Panels ein und zuletzt das neue. Danach setze ich recordsShown auf true. Beim nächsten Tastendruck dann wird der else-Block ausgeführt. Wieder wird alles gelöscht und danach wieder eingefüllt. Aber irgendwie verschwindet das opPanel nicht und wird nicht durch das operationInfo-Panel ersetzt .... Warum nicht?
Java:
if(tetris.recordsShown==false) {
tetris.dataPanel.removeAll();
tetris.dataPanel.add(nextStone);
tetris.dataPanel.add(pointsInfo);
opPanel = wrtfGUI.showRecords();
tetris.dataPanel.add(opPanel);
tetris.validate();
tetris.recordsShown = true;
} else if(tetris.recordsShown==true) {
tetris.dataPanel.removeAll();
tetris.dataPanel.add(nextStone);
tetris.dataPanel.add(pointsInfo);
tetris.dataPanel.add(operationInfo);
tetris.validate();
tetris.recordsShown = false;
}
Wenn die Rekorde nicht angezeigt werden, dann lösche ich erst alle Panels (insgesamt 3) aus dem dataPanel (grosser Container der alle Panels enthält). Danach füge ich nach einander wieder die Panels ein und zuletzt das neue. Danach setze ich recordsShown auf true. Beim nächsten Tastendruck dann wird der else-Block ausgeführt. Wieder wird alles gelöscht und danach wieder eingefüllt. Aber irgendwie verschwindet das opPanel nicht und wird nicht durch das operationInfo-Panel ersetzt .... Warum nicht?