扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
CS结构系统的退出如下:public void init() {
成都创新互联是一家集网站建设,东胜企业网站建设,东胜品牌网站建设,网站定制,东胜网站建设报价,网络营销,网络优化,东胜网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
this.setTitle("用户登录界面");
this.add(createCenterPane());
this.setDefaultCloseOperation(this.DO_NOTHING_ON_CLOSE);
this.setSize(new Dimension(450, 335));
this.setLocationRelativeTo(null);
// this.setVisible(true);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
int choose = JOptionPane.showConfirmDialog(null, "是否要退出登录界面?",
"系统提示:", JOptionPane.YES_NO_OPTION);
if (choose == JOptionPane.YES_OPTION) {
System.exit(1);
}
}
});
}其中this为JFrame对象。BS结构的退出直接用windows.close()方法就行了!
方案操作如下:
(1)让程序在一个单独的线程中运行,然后在终止时,可以用线程的终止方法来结束它。
(2)退出Java程序时尽量不要使用java.lang.System的exit方法。Exit 方法可以终止JVM,从而终止程序,但如果同时运行了另一个Java程序,使用exit方法就会让该程序也关闭,这显然不是希望看到的情况!!!!
要退出Java程序,可以使用destory()退出一个独立运行的过程。对于多线程程序,必须要关闭各个非守护线程。
只有在程序非正常退出时,才使用exit方法退出程序
方法一:
类 JFrame
javax.swing.JFrame
JFrame中的方法void setDefaultCloseOperation(int)可以设置
以下为改方法的用法:
setDefaultCloseOperation
public 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"。
注:当 Java 虚拟机 (VM) 中最后一个可显示窗口被释放后,虚拟机可能会终止
要实现你说的,应该采用
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
方法二:
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Test extends JFrame {
public Test(){
this.setTitle("title");
this.setSize(300,200);
this.setLocation(100,100);
//设置关闭时什么也不做
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
//监听关闭按钮的点击操作
this.addWindowListener(new WindowAdapter(){
//new 一个WindowAdapter 类 重写windowClosing方法
//WindowAdapter是个适配器类 具体看jdk的帮助文档
public void windowClosing(WindowEvent e) {
//这里写对话框
if(JOptionPane.showConfirmDialog(null,
"退出","提
示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION){
System.exit(0);
}
}
});
this.setVisible(true);
}
public static void main(String[] args) {
new Test();
}
}
if(JOptionPane.showConfirmDialog(this,"您确定要退出吗?","提示",JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION)
{
System.exit(0);
}
import java.awt.event.WindowAdapter;\x0d\x0aimport java.awt.event.WindowEvent;\x0d\x0a\x0d\x0aimport javax.swing.JFrame;\x0d\x0aimport javax.swing.JOptionPane;\x0d\x0a\x0d\x0apublic class Test extends JFrame {\x0d\x0a\x0d\x0a public Test(){\x0d\x0a this.setTitle("title");\x0d\x0a this.setSize(300,200);\x0d\x0a this.setLocation(100,100);\x0d\x0a \x0d\x0a //设置关闭时什么也不做\x0d\x0a this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);\x0d\x0a //监听关闭按钮的点击操作\x0d\x0a this.addWindowListener(new WindowAdapter(){\x0d\x0a //new 一个WindowAdapter 类 重写windowClosing方法\x0d\x0a //WindowAdapter是个适配器类 具体看jdk的帮助文档\x0d\x0a public void windowClosing(WindowEvent e) {\x0d\x0a //这里写对话框\x0d\x0a if(JOptionPane.showConfirmDialog(null, "退出","提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION){\x0d\x0a System.exit(0);\x0d\x0a }\x0d\x0a }\x0d\x0a \x0d\x0a });\x0d\x0a \x0d\x0a this.setVisible(true);\x0d\x0a }\x0d\x0a \x0d\x0a public static void main(String[] args) {\x0d\x0a new Test();\x0d\x0a }\x0d\x0a\x0d\x0a}
return语句和其他控制结束语句的区别
Java中结束语句主要有四类:return,break,continue以及goto。但是goto不常用,所有此文不对此讨论。
(1)return语句:是指结束该方法,继续执行方法后的语句。
(2)break语句:是指在循环中直接退出循环语句(for,while,do-while,foreach),break之后的循环体里面的语句也执行。
(3)continue语句:是指在循环中中断该次循环语句(for,while,do-while,foreach),本次循环体中的continue之后语句不执行,直接跳到下次循环。
return在try-catch-finally语句中的使用
若在 try或catch语句里面有return语句,finally语句和return语句的执行顺序问题:
若有finally语句,则无论如何,都会执行该语句,在try或catch中的return语句会将它的返回值压入栈内,然后执行finally语句,当finally执行完成后,若finally语句里有return语句,则执行return语句并结束。若finally没有return语句,则返回被保存的栈里的return语句,再执行。然而,在压栈时候,要注意压入栈内的是什么东西,是值本身还是引用,若是引用则引用的值会改变,若是变量值,则不会改变。
下面是一位大牛分析的,很给力,大家一定要仔细看下:finally小特性。
return语句在try-catch-finally中使用情形:
(1)若try执行成功后返回,在try和catch里面都执行return语句,这样情况与4相同,但该方法更佳,因为,可以立刻查看出异常的抛出情况。
(2)若只需要在try和catch都执行后还需继续执行相关语句,则在try-catch所有语句后执行return语句;
(3)若catch执行后返回,则在catch和所有语句后执行return语句;
(4)若try执行成功后返回,则在try和全部语句后使用return语句;
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流