Re: How to detect double-click mouse events in Swing?
- From: "ducnbyu" <ducnbyu@xxxxxxx>
- Date: 30 Jun 2006 10:34:08 -0700
Wes Harrison wrote:
I think my understanding of mouse clicked events is wrong because I don't
get the behaviour I expect. When I implement the following code:
table.getTableHeader().addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent event)
{
System.out.println("Mouse event, clickCount = " +
event.getClickCount());
}
}
I get the following output for every double-click:
Mouse event, clickCount = 1
Mouse event, clickCount = 2
Shouldn't it be just one event with a clickCount of 2? How can I tell the
difference between the first event and a normal single-click?
I am using Java 6.0 b89 but it probably applies to Java 5.0 and earlier as
well.
Thanks,
Wes
Have you considered SWT? It is able to implement a doubleClick method
since it uses OS specific libraries for UI. (Which makes it fast.)
Otherwise seems like a small reason to switch GUI's if you are taking
advantage of the richness of Swing.
An alternative would be to create a short duration javax.swing.timer
equal to a double click delay that you decide on (or let the user
configure separate from their OS value). On a first click of the mouse
event on the target widget start the timer. If a second mouse click
comes in on the same widget before the timer expires, stop the timer
and do your double click operation. If the timer expires before a
second mouse click, stop the timer and do your single click operation
(in the timer's ActionListener's actionPerformed method).
.
- References:
- How to detect double-click mouse events in Swing?
- From: Wes Harrison
- How to detect double-click mouse events in Swing?
- Prev by Date: Re: JCheckbox in a JTable
- Previous by thread: Re: How to detect double-click mouse events in Swing?
- Next by thread: JSplitPane/JScrollPane Problem?
- Index(es):
Relevant Pages
|
|