我正在尝试扩展一些Swing组件并覆盖与其状态(JComboBox的setSelectedIndex,JCheckBox的setSelected等)交互的方法。
JCheckBox存在问题。我已经重写了setSelected方法,但是当用户通过UI更改JCheckBox状态时,它似乎不会调用。我可以通过调用方法来更改JCheckBox状态,但似乎GUI使用另一种方式来更改其状态。我该如何在课堂上捕捉到该事件?
对于其他类的Swing,一切都很好,并且所有被覆盖的方法都可以正常工作。
public class MyCheckBox extends JCheckBox {
@Override
public void setSelected(boolean selected) {
//Method is not performed when MyCheckBox is clicked
super.setSelected(selected);
}
}
上:
我已经拥有了支持“撤消/重做”动作的组件包。我刚刚向所有组件添加了addUndoableEditListener(UndoableEditListener l)方法,因此实现隐藏在组件内部。这就是为什么我扩展了Swing组件而不是使用动作侦听器的原因。
最佳答案
您需要add和ActionListener
到复选框。