![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
LeSagra |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.11.2011 Репутация: нет Всего: нет |
Здравствуйте!
Что я хотел бы получить: Хочу чтобы при на житии кнопки(например Ф6), запускалась процедура Старт, у работала, и чтобы при нажатии другой кнопки(например Ф8), процедура останавливалась. Программа должна запускается в втором плане, поэтому нужен Покамест я смог получить только запуск процедуры старт, но стоп не реагирует никак, подскажите пожалуйста, буду благодарен! Подскажите как это сделать помощью нитей, потому как ГЛ он запускается отдельной нитью, оттуда у меня и проблемы. __Work __
__Global LISTENER__
|
||||||
|
|||||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Что значит "не реагирует"? Нажатие на F8 отлавливается? Метод stop() вызывается? И что находится в цикле? Насколько быстро отрабатывает одна итерация? в общем добавь логгирования и смотри что происходит. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
LeSagra |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.11.2011 Репутация: нет Всего: нет |
LSD:
-Нажатие на F8(кроме Ф8 перепробывал много других кнопок) отлавливается: Следовательно метод стоп не вызывается и поле enable_work не меняется на false; -В цикле даже ставил: Thread.sleep(5500); изменений никаких. Это сообщение отредактировал(а) LeSagra - 23.7.2013, 14:36 |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Очень интересная логика, как из первого следует второе, я не понимаю. ![]() По коду видно, что стоп может не вызываться только если e.getKeyCode() != NativeKeyEvent.VK_F8. Ты внутрь условия и метода stop() добавлял логгирование? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Проблема в методе start(), ты не запускаешь отдельный поток а начинаешь работу прямо в потоке слушателя. Из-за чего блокируется вся дальнешая обработка событий. Тебе надо вынести цикл в отдельный поток.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
LeSagra |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.11.2011 Репутация: нет Всего: нет |
LSD,
Спасибо! все работает! один вопрос, почему new Thread(this).start(); а не new Thread(this).run(); ?? |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Потому что метод start() запускает новый поток и именно в этом новом потоке будет выполнятся run(). Если сразу запустить run(), то он будет выполнятся в вызывающем потоке, т.е. получим то же самое поведение. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
LeSagra |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.11.2011 Репутация: нет Всего: нет |
LSD, спасибо ещо рас, все работает на ура, до связи!
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |