前提・実現したいこと
Javaでゲームを作成したいのですが、その前段階として画面遷移について理解したく、簡単なプログラムを作成しました。
プログラムで実現したいことは以下の通りです。
①起動すると、「next」と表示されたボタン1個を有する黄色の画面が表示される。
②「next」ボタンを押すと、青色の画面になる。
発生している問題・エラーメッセージ
①は表示されるのですが、②でボタンを押した後、青色の画面が表示されません。
該当のソースコード
Java
1 2import javax.swing.JFrame; 3import javax.swing.*; 4import java.awt.*; 5import java.awt.event.*; 6 7 8public class Transition extends JFrame{ 9 10 Panel1 panel1 = new Panel1(); 11 Panel2 panel2 = new Panel2(); 12 Container c = getContentPane(); 13 14 public static void main(String[] args){ 15 new Transition(); 16 } 17 18 public Transition(){ 19 setSize(200,200); 20 c.add(panel1); 21 setVisible(true); 22 } 23 24 public class Panel1 extends JPanel implements ActionListener{ 25 26 JButton button1 = new JButton("next"); 27 28 public Panel1(){ 29 setBackground(Color.YELLOW); 30 button1.addActionListener(this); 31 32 add(button1); 33 } 34 35 @Override 36 protected void paintComponent(Graphics g) { 37 super.paintComponent(g); 38 39 } 40 41 public void actionPerformed(ActionEvent e){ 42 //setBackground(Color.RED); 43 c.remove(panel1); 44 c.add(panel2); 45 panel2.setVisible(true); 46 c.repaint(); 47 } 48 49 } 50 51 public class Panel2 extends JPanel { 52 public Panel2(){ 53 setBackground(Color.BLUE); 54 55 } 56 57 @Override 58 public void paintComponents(Graphics g) { 59 super.paintComponents(g); 60 } 61 62 } 63} 64
補足情報(FW/ツールのバージョンなど)
環境は
Windows10
VScode
です。
なにとぞよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/15 13:54