Hallo
ich möchte (im FullscreenModus) ein JPanel durch ein anderes ersetzen. Im Thread www.java-forum.org/de/topic57977_austausch-center-fl-che.html habe ich auch eine Lösung des Problems gefunden, mit der Methode validate(). Allerdings klappt dies bei mir nur, wenn ich das JPanel zuvor mit remove entferne, und danach das neue einfüge.
Meine Frage ist nun, warum muss ich das JPanel zuerst entfernen. Bzw., warum wird das Fenster nicht geupdatet, wenn die Funktion showStartingScreen folgendermaßen ausschaut?
ich möchte (im FullscreenModus) ein JPanel durch ein anderes ersetzen. Im Thread www.java-forum.org/de/topic57977_austausch-center-fl-che.html habe ich auch eine Lösung des Problems gefunden, mit der Methode validate(). Allerdings klappt dies bei mir nur, wenn ich das JPanel zuvor mit remove entferne, und danach das neue einfüge.
Code:
public class Fullscreen extends JFrame implements ActionListener{
private static final long serialVersionUID = 1L;
private JPanel screenPanel;
private World world;
public Fullscreen(World world){
screenPanel = new JPanel();
this.getContentPane().add(screenPanel);
showStartingScreen();
}
public void showStartingScreen(){
this.getContentPane().remove(screenPanel);
screenPanel = new StartingScreenPanel();
this.getContentPane().add(screenPanel);
this.validate();
}
}
Meine Frage ist nun, warum muss ich das JPanel zuerst entfernen. Bzw., warum wird das Fenster nicht geupdatet, wenn die Funktion showStartingScreen folgendermaßen ausschaut?
Code:
public void showStartingScreen(){
screenPanel = new StartingScreenPanel();
this.validate();
}