HotLog

вторник, 31 августа 2010 г.

Получение данных из Swing UI.

Как известно, SwingWorker предназначен для получения данных в background-потоке и последующей их передаче в EDT-поток.
Часто возникает и обратная задача: находясь в не-EDT потоке получить данные из UI. Типичный пример: отправляем введенные пользователем данные на сервер, происходит ошибка, надо спросить пользователя, что делать дальше: Retry/Ignore.
Для решения этой проблемы есть замечательный класс GuiActionRunner из библиотеки FEST-Swing. Пример использования:



Внимание: библиотека предназначена для тестирования. Как она поведет себя в продакшине - непонятно. Хотя никто не мешает выдрать несколько нужных классов, проревьюить, покрыть тестами и использовать в проекте.

Комментариев нет:

Отправить комментарий