JButton切换方法无法按预期工作

时间:2015-06-19 17:25:36

标签: java swing user-interface jbutton

以下是我尝试做的事情:创建JButton,点击后,其setText()将更改为Happy,然后再次点击,其setText()将更改为Sad。基本上,我希望它在点击时在HappySad之间切换。 (抱歉可怕的解释)

问题是按钮只会更改文字第一次时单击它(从HappySad)。再次单击时,它不会更改文本。

这是我的切换方法代码:

boolean toggleButton = true;
JButton button = new JButton("Sad");

public void changeButtonText() {
    if(toggleButton = true) {
        toggleButton = false;
        button.setText("Happy");
    } else if (toggleButton = false) {
        toggleButton = true;
        button.setText("Sad");
    }
}

然后,我有我的ActionListener:

class ButtonListener implements ActionListener {
    public void actionPerformed (ActionEvent event) {
        changeButtonText();
    }
}

button.addActionListener (new ButtonListener());

1 个答案:

答案 0 :(得分:8)

您要在if语句中为==分配值。请使用if (toggleButton)或更好的if (!toggleButton)else if。为什么你还需要public void changeButtonText() { toggleButton = !toggleButton; button.setText(toggleButton ? "Happy" : "Sad"); } 来表示布尔值?

<a>