一尘不染

Java如何把窗口放到前面?

java

我们有一个Java应用程序,当远程控制机制激活该应用程序中的某些内容时,需要将其置于前台。

为了实现这一点,我们已经在该类的被调用方法中实现了该方法,该方法表示我们的应用程序的框架(扩展为JFrame),其实现如下:

setVisible(true);
toFront();

在Windows XP下,此功能在第一次调用时有效,第二次仅任务栏上的选项卡闪烁时,框架不再位于最前面。Win2k也是如此。在Vista上似乎工作正常。

你有什么想法?


阅读 491

收藏
2020-03-12

共1个答案

一尘不染

可能的解决方案是:

java.awt.EventQueue.invokeLater(new Runnable() {
    @Override
    public void run() {
        myFrame.toFront();
        myFrame.repaint();
    }
});
2020-03-12