Jframe不适用System.exit(0);有其他方式执行关闭吗
时间: 2024-04-30 11:20:24 浏览: 15
是的,JFrame有其他方法可以执行关闭。可以使用`dispose()`方法来关闭JFrame。这个方法会释放JFrame所占用的所有资源,并将其从屏幕上移除。示例如下:
```
JFrame frame = new JFrame();
// 设置JFrame的属性
...
// 关闭JFrame
frame.dispose();
```
还可以使用`setVisible(false)`方法来隐藏JFrame,这会使JFrame不再可见,但仍然在内存中存在。示例如下:
```
JFrame frame = new JFrame();
// 设置JFrame的属性
...
// 隐藏JFrame
frame.setVisible(false);
```
需要注意的是,如果JFrame是应用程序的主窗口,使用`dispose()`方法将会终止整个应用程序。如果JFrame只是应用程序中的一个子窗口,使用`dispose()`方法将只会关闭该子窗口。
相关问题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
这段代码是用于设置 JFrame 关闭时的默认操作,即在 JFrame 上点击关闭按钮时,会调用 System.exit(0) 来结束应用程序。EXIT_ON_CLOSE 是一个常量,表示当关闭 JFrame 时,调用 System.exit 方法并传递参数 0。这样做是为了确保应用程序能够完全退出并释放所有资源。
我改怎么将窗口大小设为500*500,按钮大小设置为50*40,。 public class JButtonDemo { public static void main(String args[]) { JFrame f=new JFrame("界面"); JButton b=new JButton("点击",new ImageIcon("src\\image\\aa.png")); Container contentPane = f.getContentPane(); // 如果没有设置文字的位置,系统默认会将文字放置于图形的右边中间位置。 f.setSize(500, 500); /* b.setPreferredSize(new Dimension(100, 50));*/ // b.setHorizontalTextPosition(JButton.CENTER); // b.setVerticalTextPosition(JButton.BOTTOM); b.addActionListener(new ActionListener() { //@Override public void actionPerformed(ActionEvent e) { System.exit(0); } }); contentPane.add(b); f.pack(); f.show(); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } }
你可以在代码中进行以下修改来实现将窗口大小设置为500 * 500,按钮大小设置为50 * 40:
```java
public class JButtonDemo {
public static void main(String args[]) {
JFrame f = new JFrame("界面");
JButton b = new JButton("点击", new ImageIcon("src\\image\\aa.png"));
Container contentPane = f.getContentPane();
f.setSize(500, 500);
b.setPreferredSize(new Dimension(50, 40)); // 设置按钮大小
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
contentPane.add(b);
f.pack();
f.setVisible(true); // 使用setVisible()方法代替过时的show()方法
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
```
通过调用`b.setPreferredSize(new Dimension(50, 40))`来将按钮大小设置为50 * 40,调用`f.setSize(500, 500)`来将窗口大小设置为500 * 500。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)