0
以下、JFrameクラスを作成しています(重要な部分はクラスの下に掲載されています)。 UserInterfaceオブジェクトを作成するときには、eventListenerをアクティブにするときにすべてがうまく動作します。このコードセクションは、(Java GUI)removeAll()メソッドの後にメソッドを返すJPanelが表示されない
getContentPane().removeAll();
getContentPane().add(gameScreen());
getContentPane().validate();
getContentPane().repaint();
が必要としているようです。 removeAll()メソッドは機能しますが、JFrameにパネルを返すgameScreenメソッドを追加しても何も行われません。どんな考え?
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
これはずっと間違っていました。それを指摘してくれてありがとう!私は間違いなくこれらの変更を行います。 – Eric