Мышь событие с двойным щелчком в Java - PullRequest
16 голосов
/ 07 декабря 2011

По умолчанию MouseClicked событие начинается с одного клика. У меня есть один в JTextPane, но я хочу начать с двойного щелчка. Возможно ли это?

Ответы [ 5 ]

47 голосов
/ 07 декабря 2011

Полагаю, вы можете извлечь количество кликов из MouseEvent (при условии, что оно называется e)

Попробуйте это

if (e.getClickCount() == 2 && !e.isConsumed()) {
     e.consume();
     //handle double click event.
}
3 голосов
/ 07 декабря 2011

Я не думаю, что будет решение для этого, так как Java может работать на устройствах не на ПК.

Большинство портативных устройств не поддерживают двойной щелчок.

Вы можете отслеживать момент каждого щелчка мыши и запускать собственное событие «двойного щелчка». Но я не думаю, что это хорошая идея.

2 голосов
/ 11 июня 2014
    private void jEditorPane3MouseClicked(java.awt.event.MouseEvent evt) {                                          

            if (evt.getClickCount() == 2 && !evt.isConsumed()) {
                    evt.consume();
                    System.out.println("Double Click");
            }
    }
0 голосов
/ 10 апреля 2013

Вы можете вычислить время, прошедшее между последовательными щелчками. Сравните его с пороговым значением и решите сами, будет ли это двойной щелчок или нет.

0 голосов
/ 14 декабря 2012

Вы можете переопределить методы mousePressed () или mouseReleased () и, спрашивая, e.getClickCount () == 2, я рекомендую использовать mousePressed () или mouseReleased () вместо mouseClicked (), поскольку их использование пользователь больше времени для выполнения кликов.

...