【发布时间】:2015-08-26 22:00:56
【问题描述】:
我有一个可以处理所有鼠标和键盘事件的 JPanel 扩展类。我将该面板与另一个 JPanel 一起放入 JSplitPane 中。现在,在我原来的 JPanel 中,我的鼠标和键盘事件都没有触发。
我的理论是 JPSplitPane 现在接收事件。有没有办法像以前一样轻松地将这些事件传递给我的 JPanel?
【问题讨论】:
-
我认为你的理论不太正确。例如,如果您使用
KeyListener,它只会在它附加到的组件具有键盘焦点并且可聚焦时注册键事件。MouseListener只会在鼠标事件有明确的轨迹时才会对鼠标事件做出反应,也就是说,如果您的面板顶部有组件注册为MouseListeners,它们将阻止您的组件接收鼠标事件。但是由于您完全没有提供任何代码来演示您在做什么,这都是猜测工作 -
同意 MadProgrammer。面板可能只是没有焦点,但如果没有相关代码,很难准确判断。
-
您如何为该面板提供焦点?我多次点击它,点击标签等,但似乎无法让该面板获得焦点。
标签: java swing mouselistener jsplitpane