Управление селеном через графический интерфейс Swing - PullRequest
2 голосов
/ 02 февраля 2011

Я создал свинг-приложение, которое будет по существу использовать селен для мониторинга значений полей, отображаемых на веб-сайте, и записывать их результаты в файл. Причина, по которой я использую графический интерфейс Swing, заключается в том, что пользователи могут легко вводить поля, которые они хотят отслеживать, добавляя его в JList.

Все работает нормально, но когда я нажимаю кнопку «Начать мониторинг» (которая создает поток селена и запускает его), поток селена полностью вступает во владение и не допускает никакого взаимодействия с графическим интерфейсом колебания.

Я бы хотел, чтобы кнопка на графическом интерфейсе Swing «Stop Monitoring» остановила селен, но это невозможно, поскольку я не могу взаимодействовать с графическим интерфейсом Swing во время работы селена.

Заранее спасибо

1 Ответ

3 голосов
/ 02 февраля 2011

Ваш код селена блокирует EDT или поток рассылки событий, основной поток Swing для взаимодействия с пользователем и рисования графического интерфейса. Решение состоит в том, чтобы вызвать код селена в фоновом потоке, например, с помощью объекта SwingWorker. Вы можете прочитать больше о том, как это сделать, из учебного пособия по SwingWorker: Параллелизм в Swing

Как только вы исправите это, вы сможете настроить JButton для "остановки мониторинга".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...