1

我有两个独立的应用程序,每个应用程序都在自己的 JVM 中运行。App1 实现一个 ServerSocket 并等待请求。App2 实现一个 Socket 并向 App1 执行请求。

在 App2 执行请求(并将焦点转移到 App1)或 App1 完成请求(并获取焦点)之后,App1 应该成为活动进程/窗口。

我怎么做?

我尝试在 App1 上使用 Window.toFront() 方法,但所发生的只是任务栏中的一个闪烁栏。

4

1 回答 1

1

您可以尝试将requestFocusInWindow()requestFocus()与 toFront() 结合使用。但是,不能保证这会成功。焦点行为在一定程度上依赖于平台。

从另一个问题来看,这个功能似乎适用于 Windows 7:

private void BringToFront() {
    java.awt.EventQueue.invokeLater(new Runnable() {
        @Override
        public void run() {
            if(jFrame != null) {
                jFrame.toFront();
                jFrame.repaint();
            }
        }
    });
}
于 2012-07-19T14:20:09.350 回答