|
|
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
Petro123burgosPetro123, При закрытии окна фокус автоматически устанавливается на элементе предидущего окна, который имел фокус в момент вызова. да. И что? Ну и этот элемент (в данном случае таблица( ловит слелующий клик с evt.getClickCount() == 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 16:01 |
|
||
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
burgosНу и этот элемент (в данном случае таблица( ловит слелующий клик с evt.getClickCount() == 2. нет. Выведи сюда логи кликов. Ты обязан тестить что говороят юзвери у себя сам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 16:05 |
|
||
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
Petro123не понял. По данному ВИ должно прийти ОДНО событие DoubleClick - и показ модального на экране. При закрытии один клик уходит на кнопку диалога, диалог закрывается, а потом второй клик уходит на родительское окно. Всё потому что кнопку по-умолчанию отрабатывает на mouseReleased, поэтому clickCount второго клика начинается с 0, а не 1, так как это уже событие не диалога, а родителя. Вообще на багу Swing-а похоже. Надо подумать как обойти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 16:05 |
|
||
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
Petro123не понял. По данному ВИ должно прийти ОДНО событие DoubleClick - и показ модального на экране. DoubleClick формируется из двух MouseReleased на одном окне. Из-за того что мы закрываем окно, у нас выходит не DoubleClick, а два разных Click. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 16:07 |
|
||
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
burgosНу и этот элемент (в данном случае таблица( ловит слелующий клик с evt.getClickCount() == 2. У меня там Click Count 1 на таблице, а не 2. Какая версия Java? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 16:08 |
|
||
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВообще на багу Swing-а похоже. Надо подумать как обойти. Я clickCount никогда не использовал и не врубаюсь зачем оно. События в ОСи - 2 штуки - сначали клик и выделяем строку таблы - за ним двойнойКлик Это на простой DoubleClick (придёт 2 события) Как там в свинге не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 16:09 |
|
||
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
Petro123Я clickCount никогда не использовал и не врубаюсь зачем оно. Бывает. Petro123События в ОСи - 2 штуки - сначали клик и выделяем строку таблы - за ним двойнойКлик Это на простой DoubleClick (придёт 2 события) У AWT два события из OS - кнопка нажата и отпущена. Событие клик AWT формирует сам. Petro123Как там в свинге не знаю. С этого надо было начинать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 16:20 |
|
||
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczСобытие клик AWT формирует сам. Вопрос был, КАКИЕ формирует? DoubleClick нет? Это странно, т.к. из оси они выходят) BlazkowiczС этого надо было начинать. А что это меняет в вопросе ТС'a. События ждут пока юзверь закроет окно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 16:28 |
|
||
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
Petro123Вопрос был, КАКИЕ формирует? DoubleClick нет? Это странно, т.к. из оси они выходят) Я привел ссылку на класс, который формирует Double Click. Что тебе странно? Petro123А что это меняет в вопросе ТС'a. События ждут пока юзверь закроет окно? GUI работает в одном потоке, прикинь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 16:49 |
|
||
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
Petro123, зафлудил, блин, обе темы, распугал всех кто вопросы постит. Фи таким быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 16:50 |
|
||
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
burgos, Есть вариант не сразу закрывать диалог, а с задержкой. В обработке события закрытия, дизаблим весь диалог, чтобы юзер не натыкал лишнего. Потом запускаем фоновую задачу, которая через 500ms (а лучше awt.multiClickInterval) вызовет dispose или setVisible(false), как вы там привыкли закрывать. Можно через Thread.sleep(), можно через SchedulerExecutor, можно через SwingWorker Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 16:54 |
|
||
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczGUI работает в одном потоке, прикинь. а события приходят АСИНХРОННО прикинь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 17:03 |
|
||
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczPetro123, зафлудил, блин, обе темы, распугал всех кто вопросы постит. Фи таким быть. "Юпитер, ты сердишься, значит, ты не прав" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 17:04 |
|
||
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, У меня случилась похожая идея, только не с закрытие а с активацией. Соорудить мораторий в X-милисекунд на клик, если пришел раньше значит наследован от предыдущего окна и игнорируется. Завтра попробую. Сегодня уже фсе. Летнее расписание. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 17:07 |
|
||
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
Petro123а события приходят АСИНХРОННО прикинь Приходят тоже синхронно. У винды один поток на UI. У свинга один поток на обработку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 17:09 |
|
||
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ну дак распиши очерёдность событий свинга. Я тебе для винды описал. ТС'у логи лень приводить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 17:15 |
|
||
|
Сброс счётчика нажатий клавиши мыши.
|
|||
|---|---|---|---|
|
#18+
Сделал. При получении фокуса таблица фиксирует момент события. Если следующий клик происходит ранее чем 0,2 сек, то выполняется consume(). Как выяснилось (по крайней мере я этого не знал) consume() не прерывает выполнение Listener-ов, так что везде, где анализируется evt.getClickCount() == 2 добавлено && !evt.isConsumed(). Вроде функционирует... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 13:42 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39482556&tid=2122787]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
90ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 453ms |

| 0 / 0 |
