在HIDE_ON_CLOSE之后显示FrameView

时间:2011-11-16 00:34:22

标签: java swing user-interface desktop-application show-hide

我的Java应用程序出现问题,我在traybar中将reduce设置为icon并设置:

app.getMainFrame().setDefaultCloseOperation(HIDE_ON_CLOSE);

因此,当我在任务栏中关闭我的应用程序时会关闭,但应用程序会继续运行,并且可以看到任务栏的图标。

问题是:如何从任务栏恢复应用程序?

我试过了:

app.show(app.getMainView().getFrame());
app.getMainView().getFrame().setVisible(true);
app.getMainView().getFrame()setVisible(true);

但他们都没有工作。

1 个答案:

答案 0 :(得分:3)

您需要将其恢复为默认状态:

app.getMainFrame().setVisible(true);
app.getMainFrame().setState(Frame.NORMAL);

编辑:使用JFrame进行测试,效果很好。参见:

JFrame f = new JFrame("Test");
f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
while (true) {
    f.setVisible(true);
    f.setState(JFrame.NORMAL);
    try {
        Thread.sleep(100);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

这基本上只是在隐藏时显示JFrame