• 締切済み

java 初心者です。

COMとじゃんけんをし、勝敗を決定するというプログラムを作りたいのですが、 コンパイルしたところ、33行目に「シンボルが見つけられません」というエラーが出ます。 (合計12個のエラーがでます) どこを直せばこのエラーは解決されるのでしょうか。 すいませんが、よろしくお願いします。 以下がプログラムです。 import java.awt.event.*; import java.awt.*; import javax.swing.*; class Zyanken extends YJFrame implements ActionListener{ JButton[] btn; JPanel panel; Zyanken(String s, int w, int h,int b){ super(s,w,h,b); String[] ttl={"グー","チョキ","パー","Exit"}; String[] tips={"グーです","チョキです","パーです","終了します"}; int i; setUp(); Icon[] ic=new Icon[4]; for(i=0;i<4;i++) ic[i]=new ImageIcon("icon"+i+".gif"); btn=new JButton[4]; for(i=0;i<4;i++){ btn[i]=new JButton(ttl[i],ic[i]); btn[i].setToolTipText(tips[i]); btn[i].addActionListener(this); } JPanel p=new JPanel(); for(i=0;i<4;i++) p.add(btn[i]); p.setBackground(Color.pink); pane.add(p,BorderLayout.SOUTH); panel=new JPanel(); pane.add(panel,BorderLayout.CENTER); } public void actionPerformed(ActionEvent e){ int com=(int)(Math.random()*4); if(com==1){ panel.setText("COMはグーです。"); } else if(com==2){ panel.setText("COMはチョキです。"); } else{ panel.setText("COMはパーです。"); } if(e.getSource()==btn){ if(com==1){ panel.setText("あいこです。"); } else if(com==2){ panel.setText("あなたの勝ちです。"); } else{ panel.setText("あなたの負けです。"); } } else if(e.getSource()==btn){ if(com==1){ panel.setText("あなたの負けです。"); } else if(com==2){ panel.setText("あいこです。"); } else{ panel.setText("あなたの勝ちです。"); } } else{ if(com==1){ panel.setText("あなたの勝ちです。"); } else if(com==2){ panel.setText("あなたの負けです。"); } else{ panel.setText("あいこです。"); } } } }

みんなの回答

  • racene
  • ベストアンサー率70% (21/30)
回答No.1

JPanelクラスにsetTextメソッドは存在しません。 なので、panel.setTextを別の何かに変えるか、panelを別の何かに変えると良いでしょう。 ちなみにタイトルですが、初心者さんであることは書かなくてもわかるので、何を聞きたいのかを書くようにしてください。 あと、33行目がどこか数えるのは面倒なのでソースにコメントで /* ここ */ などのように書いておくと親切です。

関連するQ&A