通过另一个JFrame关闭多个JFrame-
可以关闭多个窗口,甚至是非静态 Java 摆动窗口。输入下面的小代码,一步一步来。
所有主要方法将仅输入 Class1。
在第一类中创建第二类全局变量。
`Class2 NiceApp1;
创建两个文本字段 jTextField1 和 jTextField2 并在 jTextField1 = 1, jTextField2 = 0 中赋值。
您也可以在文本字段中输入您的窗口名称,然后将其与您的窗口名称进行比较,而不使用浮点数。
//按钮名称为jToggleButton1。您需要顺时针单击按钮并选择执行的操作,然后键入以打开第二个类。
private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {
NiceApp1 = new Class2();
NiceApp1.setVisible(true);
jTextField1.setText("0");
}
现在在 Class1 中键入以下方法。
public void NiceApplication1() throws NullPointerException {
if (NiceApp1.isVisible() == true) {
jTextField1.setText("1.1");
} else {
jTextField1.setText("0");
}
if (jTextField1.getText().equals(jTextField2.getText())) {
Close();
}
}
//现在你需要使用Focus Gained,点击同样的jToggleButton1选择FocusGained。
private void jToggleButton1FocusGained(java.awt.event.FocusEvent evt) {
NiceApplication1();
}
//现在只需要确定您使用任何 JLabel 或仅 class1 中的面板,如果您使用覆盖屏幕的 JLabel,因此顺时针单击并选择 JLabel MouseEntered 或者您使用面板,因此使用面板的 MouseEntered,下面的示例使用 JLabel。
private void jLabelMouseEntered(java.awt.event.MouseEvent evt) {
NiceApplication1();
}
//现在只输入你的类关闭方法。
public void Close() {
WindowEvent winclosing = new WindowEvent(this, WindowEvent.WINDOW_CLOSING);
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(winclosing);
}
//在Class2中,键入close方法,然后在关闭后打开你想要打开的类。像下面的例子那样输入。
Close();
Class NiceApp1 = new Class();
NiceApp1.setVisible(true);
//在Class2 Cancel按钮类型打开Class1以防万一,用户取消所以之前的Class1会关闭,新的Class1会重新打开。
Close();
Class1 NiceApp1 = new Class1();
NiceApp1.setVisible(true);
`
注意,如果用户将打开任何班级,那么在用户尝试将光标移动到 Class1 上之后,之前的 Class1 屏幕仍然会关闭。如果你想同时关闭 class1,那么使用 Class2 的焦点损失来打开新的任何类,并在执行的操作中调用 close 方法,如果有弹出窗口,那么在 yes-no 弹出窗口之外调用 close 方法。
如果你做了上述过程,你现在已经完成了。
如果您无法顺时针单击按钮来选择执行的操作等,请使用 jToggleButton1.addActionListener。
您也可以访问 NiceApplication1.BlogSpot.Com。
您可以使用上面的代码。从 Class2 关闭窗口,您将看到之前的窗口也将关闭,并且将显示一个新的新班级窗口。