Java Swing中的MouseListener有时不响应

Dan*_*anM 2 java swing mouseevent

我已经在我的主Jframe上实现了右键单击以打开菜单监听器,除了一个问题之外它工作正常.五分之一(给予或接受)点击它没有响应,这对用户来说非常烦人.这是我的代码:

contentPane = new JPanel();
contentPane.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent e) {

            if (e.getButton() == MouseEvent.BUTTON3) 
            {
                //Do Stuff
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

你能帮我么

dac*_*cwe 10

  1. 您不会从子组件中获得点击次数contentPane.

    我认为你的问题是你已经在面板上添加了东西.当用户点击子组件占用的区域时,该子组件得到click事件.

    快速修复:我建议您为所有子组件添加相同的鼠标侦听器.

  2. 你不是"点击"

    单击是指按下鼠标并快速释放.如果你不小心,你可能会得到(例如)"按下,移动,释放"而不是"点击"的事件.

    快速修复:mouseReleased改为使用事件.

  • 哇谢谢你!没想过.这是我的问题,当我移动一点点它没有工作. (2认同)