(免责声明:我对Swing来说相对较新)
在GUI中,我创建了两个相同类型的对象(JButton
)。每个人都有自己的KeyEventDispatcher
,并将KeyEvents
张贴到EventQueues
。初始化并将两个对象添加到两个单独的JPanel
时,创建的第一个按钮对象可以正常工作,并在按下按钮时发送正确的数据。但是,第二个按钮对象没有响应。无论我初始化和添加它们的顺序如何,此行为都是一致的。
在进一步调试并分析虚拟内存中这两个KeyEventDispatcher
事件的位置时,我发现按下第二个按钮后,{{1}引用了创建的第一个按钮的KeyEventDispatcher
}} 方法。据我所知,这似乎是造成第二个按钮无法响应的原因。
为什么会发生这种情况?