【问题标题】:Setting the application focus to a java-program in Ubuntu/LTSP在 Ubuntu/LTSP 中将应用程序焦点设置为 java 程序
【发布时间】:2010-12-14 10:54:11
【问题描述】:

我们将 LTSP 与瘦客户端一起使用。我们正在使用它来运行 Java-Swing-Application。用户应该不能做任何其他事情,所以我们使用 shell 脚本代替 Gnome-Session 来启动我们的应用程序。

几乎所有事情都完美无缺,但有一件事:瘦客户端启动时,应用程序也会启动,但没有获得焦点。我们必须在应用程序中用鼠标单击一次,这不是很好,因为应用程序被设计为在没有鼠标的情况下使用。

我没有发现任何有用的东西,我的 Main Frame 上的 toFront() 没有成功。

有没有更好的建议?

【问题讨论】:

    标签: swing ubuntu-10.04


    【解决方案1】:

    您可以使用方法java.awt.Window#setAlwaysOnTop(boolean) 来获取焦点,并在第一次用户交互后重置alwayOnTop 属性。

    【讨论】:

      【解决方案2】:

      您可以尝试在 JFrame 上调用requestFocus,只要它可见:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-18
        • 1970-01-01
        • 2019-03-22
        • 1970-01-01
        相关资源
        最近更新 更多