Установка фокуса приложения на java-программу в Ubuntu / LTSP - PullRequest
0 голосов
/ 14 декабря 2010

Мы используем LTSP с Тонкими Клиентами.Мы используем его для запуска Java-Swing-приложения.Пользователи не должны иметь возможности делать что-либо еще, поэтому вместо сеанса Gnome мы используем сценарий оболочки для запуска нашего приложения.

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

Я не нашел ничего полезного, toFront () на моемОсновной кадр не был успешным.

Кто-нибудь есть лучшие предложения ??

Ответы [ 2 ]

1 голос
/ 14 декабря 2010

Вы можете использовать метод java.awt.Window#setAlwaysOnTop(boolean), чтобы захватить фокус и после первого взаимодействия с пользователем сбросить свойство alwayOnTop.

0 голосов
/ 15 декабря 2010

Вы можете попытаться вызвать requestFocus на вашем JFrame, как только он станет видимым:

JFrame frame = new JFrame();

frame.addComponentListener(new ComponentAdapter() {
        public void componentShown(ComponentEvent e) {
            ((JFrame) e.getSource()).requestFocus();
        }
    });

frame.setVisible(true);
...