Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I delay a MouseOver in Java?

I've got a short question and I hope somebody can help me.

Please look at the following code snippet:

public void mouseEntered(MouseEvent e){
   //wait 2 seconds.
   //if no other mouseEntered-event occurs, execute the following line
   //otherwise restart, counting the 2 seconds.
   foo();
}

Can somebody help me with that problem? I want to realize a behavior like an ToolTip: you enter a region with your mouse. If your mouse stays in that position, do something.

like image 327
Michael Avatar asked Feb 10 '26 08:02

Michael


1 Answers

Start a Timer with a delay of 2 seconds in your mouseEntered() method that calls whatever it is you want to do.

Set up a new handler (mouseExited()) that stops the timer if it hasn't gone off.

Basically, you know the mouse is still there if mouseExited() hasn't been called. The timer will either go off in two seconds doing what you want or be cancelled if the mouse exits.

like image 190
Brian Roach Avatar answered Feb 12 '26 20:02

Brian Roach



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!