JButton 切换方法未按预期工作
JButton toggle method not working as expected
这是我正在尝试做的事情:创建一个 JButton
,单击时,它的 setText()
将变为 Happy
,然后再次单击时,它的 setText()
将更改为 Sad
。基本上,我希望它在单击时在 Happy
和 Sad
之间切换。 (对不起,糟糕的解释)
问题是按钮仅在我单击它时 第一次 更改文本(从 Happy
到 Sad
)。再次单击时,它不会更改文本。
这是我的切换方法代码:
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");
}
这是我正在尝试做的事情:创建一个 JButton
,单击时,它的 setText()
将变为 Happy
,然后再次单击时,它的 setText()
将更改为 Sad
。基本上,我希望它在单击时在 Happy
和 Sad
之间切换。 (对不起,糟糕的解释)
问题是按钮仅在我单击它时 第一次 更改文本(从 Happy
到 Sad
)。再次单击时,它不会更改文本。
这是我的切换方法代码:
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");
}