java jframe关闭窗口

frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
int choose = JOptionPane.showConfirmDialog(null, "您确认要退出吗?",
"message提示", JOptionPane.YES_NO_OPTION);
if (choose == JOptionPane.YES_OPTION) {
System.exit(0);
} else if (choose == JOptionPane.NO_OPTION) {
return;//这里就不见了jframe,但是程序没有退出的。应该只是隐藏了。 我打印出visible属性是true
}
}
});

choose 有3个值,除了上面两个外还有用户直接点击关闭对话框按钮
JFrame关闭窗口的方法
public void setDefaultCloseOperation(int operation)
operation默认是 HIDE_ON_CLOSE
所以要用WindowListener则必须把operation设置为
DO_NOTHING_ON_CLOSE

参照API:
setDefaultCloseOperationpublic void setDefaultCloseOperation(int operation)
设置用户在此窗体上发起 "close" 时默认执行的操作。必须指定以下选项之一:
DO_NOTHING_ON_CLOSE(在 WindowConstants 中定义):不执行任何操作;要求程序在已注册的 WindowListener 对象的 windowClosing 方法中处理该操作。
HIDE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册的 WindowListener 对象后自动隐藏该窗体。
DISPOSE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。
EXIT_ON_CLOSE(在 JFrame 中定义):使用 System exit 方法退出应用程序。仅在应用程序中使用。
默认情况下,该值被设置为 HIDE_ON_CLOSE。更改此属性的值将导致激发属性更改事件,其属性名称为 "defaultCloseOperation"。
补充:
只需要添加或修改下面这行就行了
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

时间: 2024-08-25 04:31:22

java jframe关闭窗口的相关文章

selenium测试(Java)--关闭窗口(二十)

quit方法:退出相关的驱动程序和关闭所有窗口 close方法:关闭当前窗口 package com.test.closewindow; import java.util.Iterator; import java.util.Set; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openq

JAVA (1)–第一个GUI程序 添加标题 关闭窗口 屏幕位置 导入图标

  import java.awt.*; // 可以改成 import javax.swing.*; public class FirstFrame { public static void main( String[] args ) { Frame f = new Frame(); //可以改成 JFrame f = new JFrame(); f.setSize( 300, 200 ); f.setVisible(true); } } //Frame 的意思是框架 import java.a

Java JFrame图形界面 ----一个简单的窗口

#开始 申请博客已经有一段时间了 但是一直没有时间写博文(其实还是懒虫侵蚀了大脑) 最近正在学习JFrame做窗口 遇到了很多的问题 为了解决问题也谋杀了很多的脑细胞 为了让更多的朋友不死的很多脑细胞我把学习的时候遇到的问题给写出来了 就当是自己的备忘录了 萌新 大佬勿喷 学习过程中参考了网上很多博客 在这里谢谢大家共享知识 也希望我的代码和经验可以帮助到更多的人 : ) #代码 用Java做窗口我发现一个显著的特点就是实现窗口功能的方法不唯一 或者说有很多 先做一个JFrame的Hello,w

JFrame Frame 窗口关闭

JFrame是Frame的子类,即JFrame继承自Frame. JFrame是javax.swing.JFrame的类,Frame是java.awt.Frame的类. 类似的还有JButton.Button,JComboBox,ComboBox等,总的来说swing是awt的升级,带J的是不带J的升级版. 1.JFrame关闭方式: 设置用户在此窗体上发起 "close" 时默认执行的操作.必须指定以下选项之一: DO_NOTHING_ON_CLOSE(在 WindowConstan

14.2-全栈Java笔记: Java Swing创建窗口,原来这么简单!!!

上节我们聊到GUI(Graphical User Interface)的概念,并学习GUI编程中主要需掌握两个包,分别是:AWT和Swing,本节我们会通过Swing程序中常用的类和控件来实现第一个窗口.  javax.swing.JFrame JFrame在GUI中为一个窗口对象,继承于Frame.JFrame控件用于在Swing程序中创建窗体.如表1所示,为JFrame常见的构造方法. 注意: Java语言规定在GUI编程中任何窗口实例化出来时默认为不可见(即隐藏)状态,所以当我们使用构造方

java JFrame 设置背景颜色无效的理解

广州疯狂软件教育Java培训,iOS培训分享 在开发Java应用程序时,通常情况下利用JFrame创建窗口.利用JFrame创建的窗口分别包含一个标题.最小化按钮.最大化按钮和关闭按钮 1.在你使用JFrame创建窗体时的情况: 在你直接调用setBackground(Color.red)这个方法后,你的确设置了JFrame的背景颜色,而你看到的却不是直接的JFrame,而是JFrame.getContentPane().而JFrame上的contentPane默认是Color.WHITE的,所

使用java语言编写窗口按钮

使用java语言编写窗口按钮 代码如下: package Day08; import java.awt.FlowLayout; import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JTextField; public class ShowFlowLayout extends JFrame { public ShowFlowLayout() { //Set

计算器界面及关闭窗口

import java.awt.*;import java.awt.BorderLayout;import java.awt.Button;import java.awt.Frame;import java.awt.event.WindowEvent;import java.awt.event.WindowAdapter;public class hood{public static void main(String arg[]){Frame f=new Frame("GridLayout&qu

PyQt4关闭窗口

一个显而易见的关闭窗口的方式是但集标题兰有上角的X标记.接下来的示例展示如何用代码来关闭程序,并简要介绍Qt的信号和槽机制. 下面是QPushButton的构造函数,我们将会在下面的示例中使用它. QPushButton(String text, QWiget parent = None) text表示将显示在按钮上的文本.parent是其父对象,用于指定按钮显示在哪个部件中.在我们的示例中,parent是一个QWidget对象. #!/usr/bin/python # -*- coding:u