public void itemStateChanged(ItemEvent event)
{
    if(event.getSource() == doctorBox)
    {
        if (doctorBox.isSelected() == true)
            JOptionPane.showMessageDialog(null, "you are a doctor");
        else if (doctorBox.isSelected() != true)
            JOptionPane.showMessageDialog(null, "you are not a doctor");
    }
}


运行应用程序时...默认情况下,未选中此复选框
当我选中“ doctorBox” ...时,会弹出两个对话框:“你是医生”和“你不是医生”,也没有选中该复选框!

为什么会这样?如何更改代码才能正常工作?

最佳答案

这是一些很棒的samples。删除所有复选框以外的所有复选框,并确保根据提供的链接中的详细信息,对单个复选框具有单个侦听器。我的猜测是由于将侦听器与CheckBox一起添加的方式而引起的奇怪现象正在发生。

07-26 04:26