java中 怎么区分单击和双击

if(e.getClickCount()==2){//布置聊天窗口界面arrangeChat();}else{//布置信息界面arrangeFriendInfo(e);}... if(e.getClickCount()==2){
//布置聊天窗口界面
arrangeChat();
}else{
//布置信息界面
arrangeFriendInfo(e);
}
我这样写的话,我双击它 它会先触发单击,然后再触发双击
应该怎么设置呀?
展开
 我来答
有车2015
推荐于2016-09-10 · TA获得超过893个赞
知道小有建树答主
回答量:684
采纳率:0%
帮助的人:354万
展开全部
对于java来说应该就是2个接口

通常情况下,一次单击会启动一个用户界面 (UI) 操作,而一次双击则会扩展该操作。 例如,一次单击通常可选择一个项,而双击则可编辑所选的项。 但是,Windows 窗体 Click 事件无法轻松应用于单击和双击执行多个不兼容操作的方案,因为绑定到 Click 或 MouseClick 事件的操作会在操作绑定到 DoubleClick 或 MouseDoubleClick 事件之前执行。 本主题演示此问题的两种解决方案。 一种解决方案是处理双击事件,并回滚单击事件处理过程中的操作。 在极少数情况下,可能需要通过处理 MouseDown 事件并使用 SystemInformation 类的 DoubleClickTime 和 DoubleClickSize 属性来模拟单击和双击行为。 度量点击之间的时间,如果在达到 DoubleClickTime 值之前发生第二次单击,并且单击发生在由 DoubleClickSize 定义的矩形范围内,请执行双击操作;否则,请执行单击操作。
myerpso
推荐于2018-03-14 · TA获得超过1278个赞
知道小有建树答主
回答量:982
采纳率:0%
帮助的人:472万
展开全部
在每次接到单击事件时,等待一段时间,看看后续的特定时间内是否有双击的事件产生,若是有,就放弃单前的单击事件,若是没有,就处理单击事件
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");
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱3071
2009-01-10 · 超过11用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:38万
展开全部
e.getClickCount()是得到鼠标点击的次数,后面==2就是说如果鼠标点击等于两次的话,就执行下面的语句,如果想要单击的话,就==1就好了这样就是单击了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刚强还静谧灬瑰宝5950
2009-01-10 · TA获得超过744个赞
知道小有建树答主
回答量:359
采纳率:0%
帮助的人:448万
展开全部
就是这样的哈~~~
if( e.getClickCount() == 1 ){
}else if( e.getClickCount() == 2 ){
}

这样分来写就行了。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rujoh
2009-01-09 · 超过16用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:56.6万
展开全部
我只会单击和右击,感谢一楼的回答!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式