我知道如何使用ActionListener
类来获取actionPerformed
事件 - 但是,我已经实现了自己的JPanel对象,我无法解决的是我如何创建一个动作并表明它已被执行,以便外部动作监听器可以接收它。具体来说,我希望拦截内部组件的一个动作,转换它的getSelectedValue()
并将其存储到一个可通过getter获得的局部变量中。然后,我想指出这样的变化,以便外部类可以接收并读取该值并对其进行操作。
有什么想法吗?我想这很简单,但我找不到我在谷歌上寻找的东西。
答案 0 :(得分:2)
您可以通过延长observer pattern并调用setChanged
和notifyObservers
方法来使用Observable。
答案 1 :(得分:2)
请参阅Component.dispatchEvent
以分派已在您的组件上定义的事件类型。如果添加新事件类型,则可能需要更多工作。在添加JComponent
选项时,了解AbstractButton
与listenerList
的{{1}}的关系。