Ich unten erstellen ich eine JFrame-Klasse (Nur die wichtigen Teile sind unten in der Klasse veröffentlicht). Beim Erstellen eines UserInterface-Objekts funktioniert alles, wenn Sie den EventListener aktivieren. Dieser Codeabschnitt:(Java GUI) JPanel wird nicht durch die Methode nach removeAll() Methode
getContentPane().removeAll();
getContentPane().add(gameScreen());
getContentPane().validate();
getContentPane().repaint();
scheint nicht zu funktionieren, wie gewünscht. Die removeAll() -Methode funktioniert, aber das Hinzufügen der gameScreen-Methode (die Panel zurückgibt) zu JFrame macht nichts. Irgendeine Idee warum?
public class UserInterface extends JFrame{
public UserInterface(){
super("idk");
setName("idk");
setSize(WINDOW_WIDTH, WINDOW_HEIGHT);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBackground(Color.WHITE);
setResizable(false);
setLocationRelativeTo(null);
add(startScreen());
setVisible(true);
}//UserInterface
private class beginButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
getContentPane().removeAll();
getContentPane().add(gameScreen());
getContentPane().validate();
getContentPane().repaint();
}
}//beginButtonListener
public JPanel gameScreen(){
JPanel gamePanel = new JPanel();
gamePanel.setName("gamePanel");
gamePanel.setLayout(null);
JLabel fadeShade = new JLabel();
fadeShade.setName("fadeShade");
fadeShade.setBackground(Color.BLUE);
fadeShade.setBounds(0, 0, WINDOW_WIDTH, WINDOW_HEIGHT);
gamePanel.add(fadeShade);
return gamePanel;
}//gameScreen
}//UserInterface
Wow diese ganze Zeit war es ein sorgloser Fehler. Danke, dass du das unterstrichen hast! Ich werde diese Änderungen definitiv vornehmen. – Eric