你如何最小化java swing窗口?

时间:2016-02-04 16:05:35

标签: java swing netbeans jframe

我正在使用NetBeans开发Java Swing应用程序。

我想要做的是:如果某些人试图打开一个新的JFrame并且已经创建了该窗口,请将其置于最前面并取消最小化。我们在创建窗口时给出所有窗口名称(是的,有些是动态的),例如

public class GUIother extends javax.swing.JFrame {
    public GUIother () {
        this.setName("GUIother");
        // some other code will go here
    }
        // some other code will go here
}

当用户发起操作时,请通过按钮或菜单说明:

private void Click_versionActionPerformed(java.awt.event.ActionEvent evt) {                                                 
    if(!WindowExists("GUIversion")) new GUIversion().setVisible(true);
}   

现在我已经将它工作到目前为止它会将现有的窗口带到前面,但如果它最小化则保持这种状态:

public static boolean WindowExists(String WindowName) {
    boolean exists = false;
    Window[] children = GUImain.getWindows();
    for (Window win : children) {
        if (win.getName().equals(WindowName) && win.isVisible()) {
            exists=true;
            win.toFront();
            win.???();  // unminimize
        }
    }
    return exists;
}

1 个答案:

答案 0 :(得分:0)

您需要更改框架的扩展状态:

frame.setExtendedState(JFrame.NORMAL);