2010-12-14 1 views
0

Мы используем LTSP с Thin-Clients. Мы используем его для запуска Java-Swing-приложения. Пользователи не должны ничего делать, поэтому вместо Gnome-Session мы используем shell-script для запуска нашего приложения.Настройка фокуса приложения на java-программу в Ubuntu/LTSP

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

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

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

ответ

1

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

0

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

JFrame frame = new JFrame(); 

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

frame.setVisible(true); 

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

  • Нет связанных вопросов^_^