Mic*_*rry 3 java swing mouseevent windowlistener
我写了一个JWindow,它在我的应用程序中有点像一个奇特的菜单,当按下按钮时弹出.但是,如果用户点击主窗口中的任何位置,我希望它消失.我当然可以在主窗口中添加一个鼠标监听器,但是它不会将它添加到窗口本身的所有组件上,并且循环遍历所有组件看起来像是一个暴力解决方案(并且不能是如果窗口上的组件发生变化,保证可以正常工作.)
做这样的事情最好的方法是什么?
尝试使用Toolkit.getDefaultToolkit().addAWTEventListener(listener, eventMask).查找仅过滤鼠标点击的eventMask.此AWT侦听器对于整个应用程序是全局的,因此您可以查看发生的所有事件.