我正在使用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;
}
答案 0 :(得分:0)
您需要更改框架的扩展状态:
frame.setExtendedState(JFrame.NORMAL);