Mouse event with double click in java

狂风中的少年 提交于 2019-12-18 05:39:06

问题


By default MouseClicked event starts with one click. I have one in a JTextPane but I want to start with double click. Is it possible?


回答1:


I believe you can extract the click count from the MouseEvent (assuming its called e)

Try this

if (e.getClickCount() == 2 && !e.isConsumed()) {
     e.consume();
     //handle double click event.
}



回答2:


I don't think there will be a solution to this, since Java can run on non-pc devices.

Most portable devices don't support double-click.

You may keep track of the moment of each mouse click and fire your own "double-click" event. But I don't think this is a good idea.




回答3:


    private void jEditorPane3MouseClicked(java.awt.event.MouseEvent evt) {                                          

            if (evt.getClickCount() == 2 && !evt.isConsumed()) {
                    evt.consume();
                    System.out.println("Double Click");
            }
    }



回答4:


You can override the mousePressed() or mouseReleased() methods and asking if e.getClickCount() == 2 , I recommend using the mousePressed() or mouseReleased() instead of mouseClicked() method since using those will give the user more time to perform the clicks.




回答5:


You can compute the time lapsed between consecutive clicks. Compare it with a threshold value and decide yourself whether it is a double click or not.



来源:https://stackoverflow.com/questions/8409347/mouse-event-with-double-click-in-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!