我有一个在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) {}

10-05 18:28
查看更多