2009-09-13 1 views
0

У меня довольно странный вопрос: У меня есть приложение Java, которое использует «приложения» (плагины) в разных потоках. Большинство этих плагинов будут написаны другими людьми, и я не буду контролировать код. Приложение требует постоянного подключения к Интернету, поскольку информация постоянно передается между сервером и приложением. То, что я хочу сделать, это поток, который работает в фоновом режиме, чтобы проверить, есть ли подключение к Интернету. Если соединение падает, я хочу, чтобы приложение ENTIRE (и все его потоки) приостановилось, отобразило сообщение и возобновило повторное подключение. Я хочу, чтобы это диалоговое окно отображалось выше всех других диалоговых окон (модальное или нет). Я думаю о чем-то вроде оповещений об учетных записях пользователей Windows Vista.Показать другое модальное диалоговое окно поверх других модальных диалоговых окон в Java

Как я могу это сделать?

+0

Кстати, если вы это сделаете, любой плагин, который отображает модальный диалог, заблокирует весь графический интерфейс всех приложений. – Yishai

ответ

1

Чтобы решить эту проблему, вам необходимо использовать Java 6, поскольку предыдущие версии просто не дают вам детализации требуемой модальности.

Вот modality options.

Для того, чтобы это эффективно работало, вам нужно, чтобы каждый плагин выполнял контракт, чтобы не использовать инструментарий Toolkit (поведение по умолчанию заключается в том, что модальное диалоговое окно блокирует все, чтобы поддерживать обратную совместимость). Применение модальности, по-видимому, отлично подходит для вас, но я не вижу, что вы можете реализовать это на Java. Насколько мне известно, это зависит от поставщика JVM.

Смежные вопросы