隐藏窗体关闭按钮_Java Swing 只关闭当前窗体
时间: 2024-01-06 20:05:06 浏览: 33
可以通过重写窗体的`processWindowEvent`方法,捕获窗体关闭事件,然后在方法中判断该事件是否为窗体关闭事件,如果是则只关闭当前窗体,而不是整个应用程序。
以下是一个示例代码:
```java
public class MyFrame extends JFrame {
public MyFrame() {
// 设置窗体属性
setTitle("My Frame");
setSize(400, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
// 添加隐藏窗体关闭按钮
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
setVisible(false);
}
});
}
// 重写窗体的processWindowEvent方法
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
// 只关闭当前窗体
dispose();
}
}
}
```
在上面的示例代码中,我们首先通过`addWindowListener`方法添加一个窗体关闭事件监听器,在监听器中设置窗体为不可见。然后,我们重写了`processWindowEvent`方法,在该方法中判断窗体关闭事件是否发生,并且只关闭当前窗体,而不是整个应用程序。