Mat*_*itt 2 java swing mouseevent mouse-listeners
我试图让java在一次点击后执行一个操作,然后在再次按下相同的按钮时执行另一个操作,无论点击之间有多长时间.这可能吗?这是我到目前为止所尝试的:
button.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount()%2 == 1) {
System.out.println("You have clicked once");
}
if(e.getClickCount()%2 == 0){
System.out.println("You have clicked twice");
}
}
});
Run Code Online (Sandbox Code Playgroud)
这不是我想要的,因为按钮上似乎有一些计时器使它更像是双击.所以我显然使用了错误的方法或其他东西,但我不知道还有其他选择.我希望在第一次点击后再次点击鼠标的速度并不重要.希望有道理.非常感谢任何帮助,谢谢.
你可以使用一个标志来做到这一点.就像是:
private boolean isFirstClick = true;
// ...
button.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
if(isFirstClick)
{
System.out.println("You have clicked once");
isFirstClick = false;
}
else
{
System.out.println("You have clicked twice");
isFirstClick = true;
}
}
});
Run Code Online (Sandbox Code Playgroud)