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()方法来比较两个字符串。

corr.equals("correct");

请参阅如何在 Java 中比较字符串?

于 2013-04-28T00:18:10.900 回答