是否可以将切换按钮上的文本设置为“ON”(如果已选中),如果不是,则设置为“OFF”? 我正在尝试使用此代码:
if(togbut.isSelected()){
togbut.setText("ON");
}
else if(!togbut.isSelected()){
togbut.setText("OFF");
}
但它不起作用。 我使用NetBeans 7.3。
答案 0 :(得分:4)
您的代码几乎是正确的。
必须将其放入切换按钮的更改侦听器中。
toggleButton.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent event) {
if (toggleButton.isSelected()){
toggleButton.setText("ON");
} else {
toggleButton.setText("OFF");
}
}
});
答案 1 :(得分:2)
您必须将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");
}
}
});
答案 2 :(得分:2)
嗯试试这个:
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");
}
}
});
答案 3 :(得分:1)
只需在你的togbut中添加一个动作监听器:
togbut.AddActionListener(this);
并在ActionPerformed()方法中添加您的代码
此外,我不认为JToggleButton可以具有除Selected
和!Selected
之外的其他状态
所以你可以改变你的if结构:
if(togbut.isSelected()){
togbut.setText("ON");
} else {
togbut.setText("OFF");
}
答案 4 :(得分:1)
您需要在课程中添加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
//
}