我在JFrame上有一个复选框。当我检查它时,我想在命令窗口上显示它已被选中。以下是我正在使用的代码。它编译和执行时没有错误,但是当我选中复选框时,我没有在窗口中看到“已被选中”。如何使用JCheckBoxes选择?
public Checklist() {
...
JCheckBox one = new JCheckBox("CT scan performed");
one.addItemListener(new CheckBoxListener());
}
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");}
}
}}
我有完全一样的格式。除非你有一个=新的JCheckBox(“执行CT扫描”); .................我有JCheckBox one =新的JCheckBox(“执行CT扫描”);当我删除'JCheckBox'它现在正在工作。有趣的是,我不知道,因为它没有工作。 – razshan
实际上,您有两个名为'one'的JCheckBox:在Checklist类中定义的一个名称,在您的侦听器中引用,另一个(在右边)在构造函数Checklist()中定义。 – olivierlemasle