javaでじゃんけんゲームを作っています。
今ここまでできている状況です。
コード public class MainFrame extends JFrame implements KeyListener{ //------------------------------------------------------------------------- JPanel panel1; JLabel label1; public static void main(String args[]){ MainFrame frame = new MainFrame("ジャンケンゲーム"); frame.setSize(500, 500); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.addKeyListener(frame); } public MainFrame(String title){ setTitle(title); panel1 = new JPanel(); label1 = new JLabel("ジャンケンスタート"); label1.setFont(new Font("MS ゴシック", Font.BOLD, 36)); panel1.add(label1); add(panel1); } //----------------------------------------------------------------------- JPanel panel2; JLabel label2; JButton button1, button2; public void keyPressed(KeyEvent evt) { switch(evt.getKeyCode()){ case KeyEvent.VK_ENTER: panel2 = new JPanel(); label2 = new JLabel("プレイヤー人数"); button1 = new JButton("1人"); button1.addActionListener(new MyListener()); button2 = new JButton("2人"); button2.addActionListener(new MyListener()); panel2.add(label2); panel2.add(button1); panel2.add(button2); add(panel2); this.validate(); break; default: } } public void keyTyped(KeyEvent e) { } public void keyReleased(KeyEvent e) { } //----------------------------------------------------------------------------- class MyListener implements ActionListener{ public void actionPerformed(ActionEvent evt){ if(evt.getSource() == button1){ JLabel label3 = new JLabel("参加者1人"); panel2.add(label3); add(panel2); } else{ JLabel label4 = new JLabel("参加者2人"); panel2.add(label4); add(panel2); } } } }
・「ジャンケンスタート」という文字を表示
・Enterキーを押すと「プレイヤー人数 1人 2人」のボタンが出てくる
・「1人」のボタンを押すと「参加者1人」、「2人」のボタンを押すと「参加者2人」の文字が表示
という感じになるようにプログラムを組んだつもりなのですが、エラーは出ていませんが、1人2人のボタンを押しても何も表示されません。
どうすれば表示させれるようになるのか教えていただきたいです。
またこのプログラム自体回りくどいやり方をしているような気がするので、こういうやり方でした方がいいなどの指摘があると教えていただきたいです。
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/16 02:00