如果选择了 JToggle 按钮,我是否可以将文本设置为“ON”,如果没有,则设置为“OFF”?我正在尝试使用此代码:
if(togbut.isSelected()){
togbut.setText("ON");
}
else if(!togbut.isSelected()){
togbut.setText("OFF");
}
但它不起作用。我使用 NetBeans 7.3。
如果选择了 JToggle 按钮,我是否可以将文本设置为“ON”,如果没有,则设置为“OFF”?我正在尝试使用此代码:
if(togbut.isSelected()){
togbut.setText("ON");
}
else if(!togbut.isSelected()){
togbut.setText("OFF");
}
但它不起作用。我使用 NetBeans 7.3。
您的代码几乎是正确的。
它必须放在切换按钮的更改侦听器中。
toggleButton.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent event) {
if (toggleButton.isSelected()){
toggleButton.setText("ON");
} else {
toggleButton.setText("OFF");
}
}
});
您必须在该切换按钮上附加一个ItemListener
:
final JToggleButton togbut = new JToggleButton();
togbut.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
togbut.setText("ON");
} else {
togbut.setText("OFF");
}
}
});
嗯试试这个:
JToggleButton togbut = new JToggleButton("Click");
togbut.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ev) {
if(ev.getStateChange()==ItemEvent.SELECTED){
togbut.setText("ON");
} else if(ev.getStateChange()==ItemEvent.DESELECTED){
togbut.setText("OFF");
}
}
});
您需要将ItemListener
接口添加到使用JToggleButton
. 实现应该是这样的:
public class MyClassThatUsesToggleButton implements ItemListener{
//
// some code
//
JToggleButton toggleButton;
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED)
{
toggleButton.setText("On!");
totalGUI.setBackground(Color.green);
}
else
{
toggleButton.setText("Off");
totalGUI.setBackground(Color.red);
}
//
// some more code
//
}
只需向您的 togbut 添加一个动作侦听器:
togbut.AddActionListener(this);
并在 ActionPerformed() 方法中添加您的代码。
此外,我认为 JToggleButton 不能有其他状态Selected
,!Selected
因此您可以将 if 结构更改为:
if(togbut.isSelected()){
togbut.setText("ON");
} else {
togbut.setText("OFF");
}