Можно ли сделать окно приложения активным?

Рейтинг: 0Ответов: 1Опубликовано: 15.02.2011

Допустим, у нас есть оконное java-приложение. Пользователь переключился на какое-то другое окно (например, Alt+TAB, или с помощью мыши). Можно ли как-то сделать наше окно активным, т.е. переключиться (по таймеру или как-то еще)?

Ответы

▲ 2Принят

О, это бедовая тема. По идее, для этого предназначен метод requestFocus. Однако, с ним есть следующая проблема: это очень платформенно-зависимо и поэтому нет гарантии, что сработает. Например, на Linux с KDE это не производит никакого эффекта.

На эту тему было много рассуждений и есть ряд кривых воркэраундов. Например, такой как тут. Но это всё очень непереносимо. Например, этот способ у меня тоже не работает. Это потому, что window manager отклоняет все попытки сделать что-то такое. По ходу, я вообще не видел, чтобы хоть какое-то окно высплывало (кроме notification-ов, которые always on top).