Java之GUI在一个窗口中打开新窗口,自动关闭旧窗口
时间: 2023-12-03 19:05:07 浏览: 236
好的,以下是使用 Java Swing 框架中的 JFrame 和 JButton 在一个窗口中打开新窗口并自动关闭旧窗口的代码:
```java
import javax.swing.*;
public class MainFrame extends JFrame {
private JButton openButton;
public MainFrame() {
super("主窗口");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
openButton = new JButton("打开新窗口");
openButton.addActionListener(e -> {
JFrame newFrame = new JFrame("新窗口");
newFrame.setSize(300, 200);
newFrame.setVisible(true);
dispose(); // 关闭旧窗口
});
JPanel panel = new JPanel();
panel.add(openButton);
add(panel);
setVisible(true);
}
public static void main(String[] args) {
MainFrame mainFrame = new MainFrame();
}
}
```
在上述代码中,我们创建了一个 `MainFrame` 类,继承自 `JFrame`,作为主窗口。在主窗口中,我们创建了一个 `JButton` 对象 `openButton`,并添加了一个监听器,当用户点击该按钮时,会创建一个新的 `JFrame` 对象 `newFrame`,作为新窗口。同时,在打开新窗口之前,我们调用了 `dispose()` 方法,关闭了旧窗口。
最后,我们将按钮添加到一个 `JPanel` 对象 `panel` 中,并将该面板添加到主窗口中,最终显示主窗口。
希望这个例子可以帮助你解决问题!
阅读全文