Stop mouseDown event when mouseDoubleClick

I have a control that listens for both mouseDown and mouseDoubleClick events. However, when mouseDoubleClick occurs, I don't need the mouseDown event to handle. (Now both events are fired when a DoubleClick is executed) How can I stop handling the mouseDown event when a mouseDoubleClick occurs?

+2


a source to share


1 answer


If I understand well, you can do something like:

private boolean doubleClicked = false;

public void mouseClicked(MouseEvent evt)
{
     if (evt.getClickCount() == 2)
     {
         doubleClicked = true;
         // Handle here your double click
     }
}

public void mousePressed(MouseEvent evt)
{
     if (doubleClicked)
     {
         return;
     }
     // Handle here your mouse down
}

public void mouseReleased(MouseEvent evt)
{
     doubleClicked = false;
}

      

So I don't know if this is SWT specific or not, but this is with AWT MouseListener.




I searched a bit, so I think this might work for SWT:

// Place this in your class body, otherwise you have to make it final
// and that is not what we want.
private boolean doubleClicked = false;

// Mouse Double Click
public void handleEvent(Event evt)
{
     doubleClicked = true;
     // Handle here your double click
}

// Mouse Down
public void handleEvent(Event evt)
{
     if (doubleClicked)
     {
         return;
     }
     // Handle here your mouse down
}

// Mouse Up
public void handleEvent(Event evt)
{
     doubleClicked = false;
}

      

+2


a source







All Articles