我向JCheckBox组件添加了一个侦听器,我想手动调用侦听器。

myCheckBox.selected(false)

然后我想调用myCheckBox侦听器。你有更好的主意吗?

最佳答案

我知道我来晚了,但这应该可以解决问题:

ItemListener listener = new ItemListener() {
    public void itemStateChanged(ItemEvent e) {
         //whatever your itemStateChanged() looks like.
    }
};
JCheckBox checkBox = new JCheckBox();
checkBox.addItemListener(listener);

然后,每当您需要手动调用它时:
listener.itemStateChanged(
                new ItemEvent(checkBox, ItemEvent.ITEM_STATE_CHANGED, checkBox, 0));

如果您匿名创建了侦听器,您仍然可以像以下方式访问它:
checkBox.getItemListeners()[0].itemStateChanged(
                new ItemEvent(checkBox, ItemEvent.ITEM_STATE_CHANGED, checkBox, 0));

10-08 19:17