java中 怎么区分单击和双击
if(e.getClickCount()==2){//布置聊天窗口界面arrangeChat();}else{//布置信息界面arrangeFriendInfo(e);}...
if(e.getClickCount()==2){
//布置聊天窗口界面
arrangeChat();
}else{
//布置信息界面
arrangeFriendInfo(e);
}
我这样写的话,我双击它 它会先触发单击,然后再触发双击
应该怎么设置呀? 展开
//布置聊天窗口界面
arrangeChat();
}else{
//布置信息界面
arrangeFriendInfo(e);
}
我这样写的话,我双击它 它会先触发单击,然后再触发双击
应该怎么设置呀? 展开
5个回答
展开全部
对于java来说应该就是2个接口
通常情况下,一次单击会启动一个用户界面 (UI) 操作,而一次双击则会扩展该操作。 例如,一次单击通常可选择一个项,而双击则可编辑所选的项。 但是,Windows 窗体 Click 事件无法轻松应用于单击和双击执行多个不兼容操作的方案,因为绑定到 Click 或 MouseClick 事件的操作会在操作绑定到 DoubleClick 或 MouseDoubleClick 事件之前执行。 本主题演示此问题的两种解决方案。 一种解决方案是处理双击事件,并回滚单击事件处理过程中的操作。 在极少数情况下,可能需要通过处理 MouseDown 事件并使用 SystemInformation 类的 DoubleClickTime 和 DoubleClickSize 属性来模拟单击和双击行为。 度量点击之间的时间,如果在达到 DoubleClickTime 值之前发生第二次单击,并且单击发生在由 DoubleClickSize 定义的矩形范围内,请执行双击操作;否则,请执行单击操作。
通常情况下,一次单击会启动一个用户界面 (UI) 操作,而一次双击则会扩展该操作。 例如,一次单击通常可选择一个项,而双击则可编辑所选的项。 但是,Windows 窗体 Click 事件无法轻松应用于单击和双击执行多个不兼容操作的方案,因为绑定到 Click 或 MouseClick 事件的操作会在操作绑定到 DoubleClick 或 MouseDoubleClick 事件之前执行。 本主题演示此问题的两种解决方案。 一种解决方案是处理双击事件,并回滚单击事件处理过程中的操作。 在极少数情况下,可能需要通过处理 MouseDown 事件并使用 SystemInformation 类的 DoubleClickTime 和 DoubleClickSize 属性来模拟单击和双击行为。 度量点击之间的时间,如果在达到 DoubleClickTime 值之前发生第二次单击,并且单击发生在由 DoubleClickSize 定义的矩形范围内,请执行双击操作;否则,请执行单击操作。
展开全部
在每次接到单击事件时,等待一段时间,看看后续的特定时间内是否有双击的事件产生,若是有,就放弃单前的单击事件,若是没有,就处理单击事件
if (e.getClickCount() == 1) {
mouseTimer = new javax.swing.Timer(350, new ActionListener() {
public void actionPerformed(ActionEvent evt) {
System.out.println("Single");
mouseTimer.stop();
}
});
mouseTimer.restart();
} else if (e.getClickCount() == 2 && mouseTimer.isRunning()) {
mouseTimer.stop();
System.out.println("Double");
}
if (e.getClickCount() == 1) {
mouseTimer = new javax.swing.Timer(350, new ActionListener() {
public void actionPerformed(ActionEvent evt) {
System.out.println("Single");
mouseTimer.stop();
}
});
mouseTimer.restart();
} else if (e.getClickCount() == 2 && mouseTimer.isRunning()) {
mouseTimer.stop();
System.out.println("Double");
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
e.getClickCount()是得到鼠标点击的次数,后面==2就是说如果鼠标点击等于两次的话,就执行下面的语句,如果想要单击的话,就==1就好了这样就是单击了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是这样的哈~~~
if( e.getClickCount() == 1 ){
}else if( e.getClickCount() == 2 ){
}
这样分来写就行了。。
if( e.getClickCount() == 1 ){
}else if( e.getClickCount() == 2 ){
}
这样分来写就行了。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我只会单击和右击,感谢一楼的回答!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询