所以我有
我的想法是,MyChart将自己注册为每个JCheckBox的侦听器(因此它实现了ItemStateChanged(ItemEvent)方法)。但是,如何识别哪个JCheckBox发送了ItemEvent,从而隐藏或显示了适当的数据集?
发布于 2012-03-01 13:32:34
可以为每个监听器设置不同的侦听器,也可以检查事件源。
Object source = event.getSource() // -- I think this is the right syntax
if (source instanceof JCheckBox) {
JCheckBox cb = (JCheckBox)source;
if (cb.getText().equals("Checkbox 1") {
} else if (cb.getText().equals("Checkbox 2")){
}
}或者,您可以重写每个复选框的JCheckBox类,如果是每个复选框,只需测试源。
发布于 2012-03-01 13:32:53
下面是Java教程的建议:检查事件的来源。
发布于 2012-03-01 13:34:55
您必须将侦听器添加到每个菜单项。
JCheckBoxMenuItem menuItem1 = new JCheckBoxMenuItem("Item 1");
menuItem1.addActionListener(listener);在每个菜单项上设置action命令将允许您在ActionListener中打开action命令。
https://stackoverflow.com/questions/9517057
复制相似问题