0

(非常に) 基本的な GUI のテキスト フィールド内で、必要に応じてユーザー スコアを増減させようとしています。どうやって、条件が正しく機能するという証拠があるにもかかわらず、減分に成功するだけです。関連するコードは次のとおりです。必要に応じてもっと供給できます。

//buttons: array of JButtons
//scoretxt: JTextField holding the score
//name- object name stored as string in separate string array
//check- odd numbers pass incorrect, evens pass correct
//safe: JTextArea for output

for (int i = 0; i < 18; i++) {
    final String myname = "" + (buttons[i].getClientProperty("name"));
    final String myval = "" + (buttons[i].getClientProperty("value"));
    final String corr = "" + (buttons[i].getClientProperty("check"));
    buttons[i].addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            safe.append(myname + " " + ("" + myval));
            if (corr == "correct") {
                safe.append(" " + corr + "\n");
                scoretxt.setText("" + ((Integer.parseInt(scoretxt.
                        getText())) + 1));
            } else {
                safe.append(" " + corr + "\n");
                scoretxt.setText("" + ((Integer.parseInt(scoretxt.
                        getText())) - 1));
            }
        }
    });

    mygui.add(buttons[i]);
}

scoretxt.getText()私はさまざまなアプローチを試みましたが、常に値を渡すことに依存しています。すべての助けに感謝します、ありがとう。

4

1 に答える 1

1

メソッドを使用してequals()2 つの文字列を比較する必要があります。

corr.equals("correct");

Java で文字列を比較するにはどうすればよいですか? を参照してください。

于 2013-04-28T00:18:10.900 に答える