JButton 切换方法未按预期工作

JButton toggle method not working as expected

这是我正在尝试做的事情:创建一个 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());

您在 if 语句中为 toggleButton 赋值。请使用 ==,或者更好的是 if (toggleButton)if (!toggleButton)。为什么布尔值仍然需要 else if

public void changeButtonText() {
   toggleButton = !toggleButton;
   button.setText(toggleButton ? "Happy" : "Sad");
}