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());

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

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

相关内容

  • 没有找到相关文章

最新更新