Ersetzen JPanel mit JPanel in einem JFrame

Ich habe eine Klasse extends JFrame, und es hat ein BorderLayout. Es verfügt über zwei private Instanzvariablen vom Typ JPanel. Sie repräsentieren panels Tasten und aufgerufen werden flipButton und confidenceButtons. Wenn Sie auf die Schaltfläche klicken, wird das Bedienfeld der Tasten wird durch die andere ersetzt-panel-Tasten. Das ist, wenn Sie auf eine Schaltfläche klicken in flipButton, flipButton wird ersetzt durch confidenceButtons. Ich habe versucht, es zu tun mögen dieses:

 private Klasse FlipListener implements ActionListener{ 
public void actionPerformed(ActionEvent e){ 
entfernen(flipButton); 
add(confidenceButtons,BorderLayout.SOUTH); 
validate(); 
... 
} 
} 
private class ColorListener implements ActionListener{ 
... 
public void actionPerformed(ActionEvent e){ 
... 
entfernen(confidenceButtons); 
add(flipButton,BorderLayout.SOUTH); 
validate(); 
} 
} 

Schaltflächen in flipButton haben FlipListeners und diejenigen, die in confidenceButtons haben ColorListeners. Wenn das Programm ausgeführt wird, klicken Sie auf eine Schaltfläche, wird entfernen Sie die Rückseite, aber nichts ist Hinzugefügt, um es zu ersetzen. Was mache ich falsch?

BEARBEITEN

CardLayout stellte sich heraus, um eine einfache und einfache Lösung. Es stellt sich heraus, dass der obige code funktioniert; das problem war ein Tippfehler in einem anderen Teil von meinem code. >.< Aber ich hatte schon immer Probleme mit diesen Methoden, und CardLayout finde ich, vereinfacht es für mich. Danke.

InformationsquelleAutor Shelley | 2011-06-25
Schreibe einen Kommentar