Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中双击鼠标事件_Java_Swing_Mouseevent_Double Click - Fatal编程技术网

java中双击鼠标事件

java中双击鼠标事件,java,swing,mouseevent,double-click,Java,Swing,Mouseevent,Double Click,默认情况下,MouseClicked事件以单击一次开始。我在JTextPane中有一个,但我想从双击开始。有可能吗?我相信你可以从MouseEvent中提取点击次数(假设它被称为e) 试试这个 if (e.getClickCount() == 2 && !e.isConsumed()) { e.consume(); //handle double click event. } 我认为不会有解决方案,因为Java可以在非pc设备上运行 大多数便携式设备不支持双

默认情况下,
MouseClicked
事件以单击一次开始。我在
JTextPane
中有一个,但我想从双击开始。有可能吗?

我相信你可以从MouseEvent中提取点击次数(假设它被称为e)

试试这个

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

我认为不会有解决方案,因为Java可以在非pc设备上运行

大多数便携式设备不支持双击


您可以跟踪每次鼠标点击的时刻,并触发自己的“双击”事件。但是我认为这不是一个好主意。

您可以重写mousePressed()或mousererelease()方法,并询问e.getClickCount()==2,我建议使用mousePressed()或mousererelease()而不是mouseClicked()方法,因为使用这些方法将给用户更多的时间来执行单击。

您可以计算连续单击之间的时间间隔。将其与阈值进行比较,然后确定是否是双击。

hmm。。你在哪里看到移动设备发挥作用?“鼠标点击事件从一次点击开始”毫无意义:只要检测到匹配的按下/释放,无论点击次数多少,都会发送鼠标点击事件。你到底想做什么?是的,技术上我理解,但问题是什么?只需使用@Johnny Rocket的答案……是否有一种重置点击次数的好方法,以便用户可以保持双击,并将每秒钟的点击次数计算为双击次数,而无需在鼠标之间暂停?@mouseas如果(例如getClickCount()%2==0)实现此效果,您只需执行以下操作即可
    private void jEditorPane3MouseClicked(java.awt.event.MouseEvent evt) {                                          

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