我想关闭弹出后,主窗体依然存在,怎么弄
时间: 2023-10-01 21:09:08 浏览: 47
如果你想在关闭弹出窗口时保持主窗口的存在,可以使用 `JDialog` 来创建一个模态对话框。模态对话框会阻止用户与程序的其他部分进行交互,直到对话框被关闭为止。这样,当弹出窗口关闭时,主窗口依然存在,用户可以继续与主窗口进行交互。
下面是一个简单的示例代码,演示如何创建一个模态对话框:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MainFrame extends JFrame {
private JButton btnOpenDialog;
public MainFrame() {
// 初始化主窗体
setTitle("Main Frame");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 添加按钮
btnOpenDialog = new JButton("Open Dialog");
btnOpenDialog.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 创建模态对话框
JDialog dialog = new JDialog(MainFrame.this, "Dialog", true);
dialog.setSize(200, 100);
dialog.setLocationRelativeTo(MainFrame.this);
// 添加按钮
JButton btnClose = new JButton("Close");
btnClose.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 关闭对话框
dialog.dispose();
}
});
dialog.add(btnClose);
// 显示对话框
dialog.setVisible(true);
}
});
add(btnOpenDialog);
// 显示主窗体
setVisible(true);
}
public static void main(String[] args) {
new MainFrame();
}
}
```
这里我们创建了一个 `JDialog` 对象,并将它设置为模态对话框。然后在对话框中添加一个关闭按钮,当用户点击关闭按钮时,我们调用 `dispose()` 方法来关闭对话框。注意,在创建 `JDialog` 对象时,我们将主窗体对象作为第一个参数传入,这样可以让对话框与主窗体关联在一起,使得在关闭对话框时主窗体依然存在。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)