正在引用的Java KeyEventDispatcher不正确

正在引用的Java KeyEventDispatcher不正确,java,swing,Java,Swing,(免责声明:我对Swing比较陌生) 在GUI中,我创建了两个相同类型的对象(JButton)。每个都有自己的KeyEventDispatcher,并将其KeyEvents发布到不同的eventqueue。初始化两个对象并将其添加到两个单独的JPanel时,创建的第一个按钮对象工作正常,按下按钮后将发送正确的数据。但是,第二个按钮对象没有响应。无论我初始化和添加它们的顺序如何,此行为都是一致的 在进一步调试和分析这两个KeyEventDispatcher事件在虚拟内存中的位置后,我发现在按下第二

(免责声明:我对Swing比较陌生)

在GUI中,我创建了两个相同类型的对象(
JButton
)。每个都有自己的
KeyEventDispatcher
,并将其
KeyEvents
发布到不同的
eventqueue
。初始化两个对象并将其添加到两个单独的
JPanel
时,创建的第一个按钮对象工作正常,按下按钮后将发送正确的数据。但是,第二个按钮对象没有响应。无论我初始化和添加它们的顺序如何,此行为都是一致的

在进一步调试和分析这两个
KeyEventDispatcher
事件在虚拟内存中的位置后,我发现在按下第二个按钮时,创建的第一个按钮的
KeyEventDispatcher
overrode dispatchKeyEvent
方法引用。据我所知,这似乎是为什么创建的第二个按钮没有响应的原因


知道为什么会发生这种情况吗?

我创建了两个相同JButton类型的对象,每个对象都有自己的KeyEventDispatcher,并将其KeyEvents发布到单独的事件队列中
-为什么<代码>我对Swing比较陌生-我猜你不了解Swing是如何工作的。从阅读Swing基础知识开始。您是否复制并粘贴了第二个,并且实际上还在第二个代码中引用前一个?几乎没有理由使用
KeyEventDispatcher
,尤其是因为您使用的是按钮。您可能只需要使用
ActionListener
。看
KeyEventDispatcher
用于尝试执行非标准操作时。(编辑:如果您确实需要使用
KeyEventDispatcher
,您需要阅读焦点规范:)如果您仍然有问题,请发布代码()。