我有一个在 AWT 组件之上打开的 JFileChooser(我们使用 GLCanvas 进行一些 openGL 渲染)。如果我双击文件选择器中的图标将其关闭,鼠标点击将传递给 GLCanvas。我读到轻量级组件上的鼠标事件将传递给重量级组件,但是有没有办法检测这种情况何时发生?双击 GLCanvas 执行另一个操作,我不希望用户只是双击关闭对话框时发生这种情况。
最佳答案
您可以为轻量级组件上的鼠标事件创建事件处理程序,然后在它们内部不执行任何操作,这应该会阻止传播到较重的组件。
类似于:
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mouseClicked(MouseEvent e) {}
关于java - 忽略从轻量级组件生成的 AWT 组件上的 Java 鼠标事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6945938/