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");
}
}