Hallo zusammen,
ich versuche gerade ein neues Spiel zu programmieren mit Swing.
Es besteht aus 2 "views", die ich in 2 verschiedenen JPanels untergebracht habe. Ein Startbildschirm und dann das echte Spiel.
Mein Problem besteht darin, dass ich das CardLayout dafür für unpassend halte und gerne mit einem JButton zwischen den beiden Panels wechseln möchte. Das habe ich auch implementiert, nur funktioniert es leider nicht, da mir nach betätigen des Buttons gar kein Panel mehr angezeigt wird.
hier die Methode die vom Button ausgeführt wird:
private void change() {
if (getContentPane() == contentPane) { //das 2. contentPane ist der Startbildschirm
contentPane.removeAll();
setContentPane(gamePane);
invalidate();
repaint();
} else {
contentPane.removeAll();
setContentPane(contentPane);
invalidate();
repaint();
}
}
ich habe mit invalidate() und repaint() hin und her probiert, aber etwas besseres als einen leeren JFrame nach betätigen des Buttons konnte ich nicht erreichen..
ich versuche gerade ein neues Spiel zu programmieren mit Swing.
Es besteht aus 2 "views", die ich in 2 verschiedenen JPanels untergebracht habe. Ein Startbildschirm und dann das echte Spiel.
Mein Problem besteht darin, dass ich das CardLayout dafür für unpassend halte und gerne mit einem JButton zwischen den beiden Panels wechseln möchte. Das habe ich auch implementiert, nur funktioniert es leider nicht, da mir nach betätigen des Buttons gar kein Panel mehr angezeigt wird.
hier die Methode die vom Button ausgeführt wird:
private void change() {
if (getContentPane() == contentPane) { //das 2. contentPane ist der Startbildschirm
contentPane.removeAll();
setContentPane(gamePane);
invalidate();
repaint();
} else {
contentPane.removeAll();
setContentPane(contentPane);
invalidate();
repaint();
}
}
ich habe mit invalidate() und repaint() hin und her probiert, aber etwas besseres als einen leeren JFrame nach betätigen des Buttons konnte ich nicht erreichen..