質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

3回答

1425閲覧

java

kisaragizinzin7

総合スコア90

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2015/10/15 02:04

getActionCommandは解決できないかフィールドではありません
というエラーが出るのですが、何が原因なのでしょうか?

今私が書いているプログラムを載せておきます。

コード import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class ap2 extends Panel implements ActionListener{ APP parent; Judge judge_main = new Judge(); Player player_main1[] = new Player[ap1.player]; //--------------------------------------------------------------------------- Label lab1 = new Label("出す手を決めてください"); Label lab2 = new Label("1(グー)、2(チョキ)、3(パー)を入力してください"); TextField tf1 = new TextField(5); TextField tf2 = new TextField(5); Button bt1 = new Button("決定"); Button bt2 = new Button("決定"); Button bt3 = new Button("ジャンケン ポン"); //--------------------------------------------------------------------------- public ap2(APP app){ parent = app; setBackground(Color.pink); setBounds(0, 0, 700, 700); setLayout(null); lab1.setBounds(240, 30, 300, 35); lab1.setFont(new Font("Serif", Font.PLAIN, 20)); add(lab1); lab2.setBounds(170, 60, 360, 40); lab2.setFont(new Font("Serif", Font.PLAIN, 14)); add(lab2); tf1.setBounds(80, 170, 75, 25); tf1.setEchoChar('*'); tf1.setFont(new Font("Serif", Font.PLAIN, 15)); tf2.setBounds(230, 170, 75, 25); tf2.setEchoChar('*'); tf2.setFont(new Font("Serif", Font.PLAIN, 15)); bt1.setBounds(85, 230, 65, 30); bt1.addActionListener(this); bt2.setBounds(235, 230, 65, 30); bt2.addActionListener(this); if(ap1.player_PC == 1){ add(tf1); add(bt1); } else{ add(tf1); add(tf2); add(bt1); add(bt2); } bt3.setBounds(295, 590, 120, 50); bt3.setEnabled(false); add(bt3); bt3.addActionListener(this); parent.add(this); } //--------------------------------------------------------------------------- public void init(){ repaint(); } //--------------------------------------------------------------------------- public void paint(Graphics g){ for(int i = 0; i < ap1.player_PC; i++){ player_main1[i] = new Player("プレイヤー" + (i+1)); g.setFont(new Font(null, Font.PLAIN, 14)); g.drawString(player_main1[i].getName(), 80+150*i, 140); } for(int i = ap1.player_PC; i < ap1.player; i++){ player_main1[i] = new Player("コンピュータ" + (i+1-ap1.player_PC)); g.setFont(new Font(null, Font.PLAIN, 14)); g.drawString(player_main1[i].getName(), 80+150*i, 140); } } //---------------------------------------------------------------------------- public void actionPerformed(ActionEvent e){ if(e.getActionCommand == "ジャンケン ポン"){ } } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

getActionCommandはメソッドじゃないですか?

投稿2015/10/15 02:17

Ruizi_Luigi

総合スコア208

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

getActionCommandはメソッドなので、
getActionCommand()
と呼び出してください。

また、戻り値がStringなので、内容比較はequalsを使用します。

if(e.getActionCommand == "ジャンケン ポン"){

if( "ジャンケン ポン".equals( e.getActionCommand() ) ){

⇒ if()の中は
getActionCommand()で取得した値.equals("ジャンケン ポン")
でもかまわないのですが、getActionCommand()で取得した値がnullである場合、
NullPointerExceptionが発生してしまうので、
固定値と比較するのであれば、そちらをインスタンスとしてequals()を呼び出したほうがいいです。

投稿2015/10/15 02:15

編集2015/10/15 02:16
kaputaros

総合スコア1844

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kisaragizinzin7

2015/10/19 04:47

回答ありがとうございます^^ equalsでやるとできました!
guest

0

getActionCommandはメソッドなので,括弧がないと起動しません.
また,返り値はStringなので"=="ではなくequalsで比較しないといけません.

投稿2015/10/15 02:13

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kisaragizinzin7

2015/10/19 04:47

回答ありがとうございます^^ equalsでやるとできました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問