powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Обработка Double Click
16 сообщений из 16, страница 1 из 1
Обработка Double Click
    #33572985
anvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У некоторого объекта есть обработчик мыши.
По одинарному клику и по двойному клику должны происходить различные действия.

Проблема в том, что до того, как срабатывает обработка двойного клика — полюбому отрабатывает обработка одинарного клика.

То есть сначала первый клик от двойного клика обрабатывается как одинарный, а потом после второго клика идет обработка двойного клика как целого.

Есть ли возможность разделить обработку одинарного клика и двойного?

Может кто-нибудь решал сходную проблему?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
 package  MyPackage;

 import  java.awt.event.*;

 public   class  MyClass  extends  JTable  implements  MouseListener
     public  MyClass() {
         this .addMouseListener( this );
    }

// MouseListener implementation
     public   void  mouseClicked(MouseEvent event) {
         if (event.getClickCount()== 1 ) {
            // single click  - срабатывает при любых кликах
        }

         if (event.getClickCount()== 2 ) {
            // double click
        }
    }
     public   void  mousePressed(MouseEvent event) {
    }
     public   void  mouseReleased(MouseEvent event) {
    }
     public   void  mouseEntered(MouseEvent event) {
    }
     public   void  mouseExited(MouseEvent event) {
    }
}
...
Рейтинг: 0 / 0
Обработка Double Click
    #33573028
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поменяйте местами 1 и 2


-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Обработка Double Click
    #33573223
anvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deadyпоменяйте местами 1 и 2




Пробовал. Разницы никакой. Все равно сначала обрабатывается первый клик от двойного клика.
...
Рейтинг: 0 / 0
Обработка Double Click
    #33573245
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя же 2 кнопки на мыше(min),вот при помощи их и сделай разделение событий
...
Рейтинг: 0 / 0
Обработка Double Click
    #33573378
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если 1 убрать, 2 сработает?

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Обработка Double Click
    #33573642
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deadyа если 1 убрать, 2 сработает?

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3


Сработает.

В момент первого клика в переменной запоминаешь время нажатия. В момент второго клика анализируешь время, прошедшее с предыдущего нажатия. Если больше какого-то порога - то выполняешь действия по одинарному клику, если меньше - по двойному.
...
Рейтинг: 0 / 0
Обработка Double Click
    #33573691
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кувалдин

> В момент первого клика в переменной запоминаешь время нажатия. В
> момент второго клика анализируешь время, прошедшее с предыдущего
> нажатия. Если больше какого-то порога - то выполняешь действия по
> одинарному клику, если меньше - по двойному.Тема==Ответить




это дублирование функций ОС, по идее getClickCount() должен возвращать
только 2 при двойном клике.

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Обработка Double Click
    #33573694
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в смысле должно генериться только одно событие на 2ной клик, а тут
похоже генерятся 2 события


-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Обработка Double Click
    #33573722
Фотография johanna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем это надо? может быть можно каким то другим способом решить? т.е. обрабатывать только одинарный клик, а event двойного клика имплементировать на другой кнопке?
...
Рейтинг: 0 / 0
Обработка Double Click
    #33574084
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deadyв смысле должно генериться только одно событие на 2ной клик, а тут
похоже генерятся 2 события


-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3

А ты попробуй на один и тот же компонент в .NET повесить обработчики click и doubleClick. Уверяю тебя, что обработчик click будет обрабатывать каждое нажатие. а не те, которые не обрабатываются doubleClick-ом.

Так что doubleClick в Win реализован методом, похожим на предложенный мной.
...
Рейтинг: 0 / 0
Обработка Double Click
    #33579968
anvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кувалдин Роман
В момент первого клика в переменной запоминаешь время нажатия. В момент второго клика анализируешь время, прошедшее с предыдущего нажатия. Если больше какого-то порога - то выполняешь действия по одинарному клику, если меньше - по двойному.

Видимо так и придется делать.
...
Рейтинг: 0 / 0
Обработка Double Click
    #33583702
Сергей111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если поменять местами 1 и 2, а в 2 сделать возврат из обработчика событий?
...
Рейтинг: 0 / 0
Обработка Double Click
    #33585513
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей111А если поменять местами 1 и 2, а в 2 сделать возврат из обработчика событий?

Не выйдет. Ты по-любому отловишь первое нажатие.
...
Рейтинг: 0 / 0
Обработка Double Click
    #33585707
Кувалдин Роман Deadyа если 1 убрать, 2 сработает?

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3


Сработает.

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

А если второго клика не будет?
...
Рейтинг: 0 / 0
Обработка Double Click
    #33585848
biomen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прохожий мимо Кувалдин Роман Deadyа если 1 убрать, 2 сработает?

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3


Сработает.

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

А если второго клика не будет?

Запускать еще один обработчик через таймер при первом клике,
если второго клика нет обработка одного, иначе двух
)))))))))))))))))))))))))
...
Рейтинг: 0 / 0
Обработка Double Click
    #33586171
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прохожий мимоА если второго клика не будет?

Тогда - таймер запускать.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Обработка Double Click
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]