kal*_*ech 83
public void mouseClicked(MouseEvent event)
{
if (event.getClickCount() == 2) {
System.out.println("double clicked");
}
}
Run Code Online (Sandbox Code Playgroud)
Sea*_*oyd 20
假设您的意思是在Swing中,将MouseListener分配给您的Component:
addMouseListener(new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent e){
if(e.getClickCount()==2){
// your code here
}
}
});
Run Code Online (Sandbox Code Playgroud)
参考:
dav*_*xxx 17
的e.getClickCount()==2,如果你想允许用户做多双击在很短的延迟是不够的.您受桌面配置的限制.你可以通过查看结果得到它 Toolkit.getDefaultToolkit().getDesktopProperty("awt.multiClickInterval");
绕过问题的一个好方法是不使用getClickCount()检查,而是使用一个Timer位置,你可以选择你的点击之间的间隔最大值,并自己处理计数(非常简单).
相关代码:
boolean isAlreadyOneClick;
@Override
public void mouseClicked(MouseEvent mouseEvent) {
if (isAlreadyOneClick) {
System.out.println("double click");
isAlreadyOneClick = false;
} else {
isAlreadyOneClick = true;
Timer t = new Timer("doubleclickTimer", false);
t.schedule(new TimerTask() {
@Override
public void run() {
isAlreadyOneClick = false;
}
}, 500);
}
}
Run Code Online (Sandbox Code Playgroud)
用Win Xp OS测试并完美.