当我检查选择或取消选择Checkbox
时,功能isSelected()
不起作用。
我有这个错误:the method isSelected() is undefined for the type Checkbox
,我不知道为什么。
您能解释一下问题所在,或者告诉我是否有其他解决方案来检查我的Checkbox
是否被选中?
代码:
import javax.swing.*;
import java.awt.event.*;
public class Example extends JFrame{
public JCheckBox one;
public Example() {
one = new JCheckBox("CT scan performed");
one.addItemListener(new CheckBoxListener());
setSize(300,300);
getContentPane().add(one);
setVisible(true);
}
private class CheckBoxListener implements ItemListener{
public void itemStateChanged(ItemEvent e) {
if(e.getSource()==one){
if(one.isSelected()) {
System.out.println("one has been selected");
} else {System.out.println("nothing");}
}
}
}
public static void main(String[] args) {
new Example();
}
}
答案 0 :(得分:3)
您的代码会为我编译,因此其他地方可能会出错。不过,我自己会使用ItemEvent状态。例如:
private class CheckBoxListener implements ItemListener {
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
System.out.println("one has been selected");
} else {
System.out.println("nothing");
}
}
}
修改强>
你的错误真的是"the method isSelected() is undefined for the type Checkbox"
吗?如果是,您是将one
声明为CheckBox
变量还是JCheckBox
变量?或者您是否有另一个名为Checkbox
的班级(请注意小写b
)?