电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java Swing 只關閉當前窗體的實現

瀏覽:6日期:2022-08-21 09:24:16

看到很多人都在詢問怎么在java swing中只關閉當前的窗體,因此寫下此文。

主界面主要是有兩個JButton,一個是通過按鈕事件調起另一個JFame,另一個是關閉當前窗體。

1、關閉當前窗體不能使用setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)方法,可以使用

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

2、通過JButton事件不能使用exit(),這樣會使得整個程序的窗體全部關閉,可以使用dispose();這樣就只關閉了當前窗體

具體實現如下:

NewFrame.javaimport java.awt.Dimension;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel; public class NewFrame extends JFrame { /** * called another JFrame * close this JFrame * write by Jimmy.li * time:2016/4/6 22:55 */ private static final long serialVersionUID = 1L; public NewFrame() { // 普通按鈕控件 JFrame jf = new JFrame('main'); Toolkit tk = this.getToolkit();// 得到窗口工具條 int width = 650; int height = 500; Dimension dm = tk.getScreenSize(); jf.setSize(300, 200);// 設置程序的大小 jf.setLocation((int) (dm.getWidth() - width) / 2, (int) (dm.getHeight() - height) / 2);// 顯示在屏幕中央 jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); jf.setVisible(true); JPanel contentPane = new JPanel(); jf.setContentPane(contentPane); // 創建兩個按鈕,并且將按鈕添加到內容面板中 JButton another = new JButton('另起頁面'); JButton close = new JButton('關閉'); contentPane.add(another); contentPane.add(close); another.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub new exit(); } }); close.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub System.exit(0); } }); } public static void main(String[] args) { new NewFrame(); }}

效果圖如下:

Java Swing 只關閉當前窗體的實現

只關閉exit的窗體,而不涉及父窗體。

exit.java代碼如下

import java.awt.event.ActionEvent;import java.awt.event.ActionListener; import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel; /** * called another JFrame close this JFrame write by Jimmy.li time:2016/4/6 22:55 */ public class exit { private static final int WIDTH = 300; private static final int HEIGHT = 200; public exit() { // 普通按鈕控件 final JFrame jf = new JFrame('exit'); jf.setSize(WIDTH, HEIGHT); jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); jf.setVisible(true); JPanel contentPane = new JPanel(); jf.setContentPane(contentPane); // 創建兩個按鈕并添加到內容面板 JButton close1 = new JButton('關閉'); contentPane.add(close1); close1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub // System.exit(0); jf.dispose(); } }); } public static void main(String[] args) { new exit(); } }

這樣通過點擊關閉按鈕,只關閉了當前的exit窗體,而父窗體還存在。

補充知識:java中JFrame和Frame的窗體關閉區別

在JFrame中是使用setDefaultCloseOperation()方法的,例如:

win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

在Frame中是使用一個事件監聽器,如下:

win.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } });

以上這篇Java Swing 只關閉當前窗體的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | 自清洗过滤器_全自动过滤器_全自动反冲洗过滤器_量子过滤器-滑漮滴 | 展厅设计-展馆设计-专业企业展厅展馆设计公司-昆明华文创意 | 高效节能电机_伺服主轴电机_铜转子电机_交流感应伺服电机_图片_型号_江苏智马科技有限公司 | 塑料撕碎机_编织袋撕碎机_废纸撕碎机_生活垃圾撕碎机_废铁破碎机_河南鑫世昌机械制造有限公司 | 天津仓库出租网-天津电商仓库-天津云仓一件代发-【博程云仓】 | 渣油泵,KCB齿轮泵,不锈钢齿轮泵,重油泵,煤焦油泵,泊头市泰邦泵阀制造有限公司 | 马尔表面粗糙度仪-MAHR-T500Hommel-Mitutoyo粗糙度仪-笃挚仪器 | 机床主轴维修|刀塔维修|C轴维修-常州翔高精密机械有限公司 | 数控走心机-双主轴走心机厂家-南京建克 | 板式换热器_板式换热器价格_管式换热器厂家-青岛康景辉 | 3d打印服务,3d打印汽车,三维扫描,硅胶复模,手板,快速模具,深圳市精速三维打印科技有限公司 | 手持气象站_便携式气象站_农业气象站_负氧离子监测站-山东万象环境 | 热工多功能信号校验仪-热电阻热电偶校验仿真仪-金湖虹润仪表 | HV全空气系统_杭州暖通公司—杭州斯培尔冷暖设备有限公司 | 江苏远邦专注皮带秤,高精度皮带秤,电子皮带秤研发生产 | 冷凝水循环试验箱-冷凝水试验箱-可编程高低温试验箱厂家-上海巨为(www.juweigroup.com) | 通辽信息港 - 免费发布房产、招聘、求职、二手、商铺等信息 www.tlxxg.net | MVR蒸发器厂家-多效蒸发器-工业废水蒸发器厂家-康景辉集团官网 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 数显恒温油浴-电砂浴-高温油浴振荡器-常州迈科诺仪器有限公司 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 专业生物有机肥造粒机,粉状有机肥生产线,槽式翻堆机厂家-郑州华之强重工科技有限公司 | 欧景装饰设计工程有限公司-无锡欧景装饰官网 | ◆大型吹塑加工|吹塑加工|吹塑代加工|吹塑加工厂|吹塑设备|滚塑加工|滚塑代加工-莱力奇塑业有限公司 | 防爆电机-高压防爆电机-ybx4电动机厂家-河南省南洋防爆电机有限公司 | 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 重庆监控_电子围栏设备安装公司_门禁停车场管理系统-劲浪科技公司 | 橡胶粉碎机_橡胶磨粉机_轮胎粉碎机_轮胎磨粉机-河南鼎聚重工机械制造有限公司 | 光谱仪_积分球_分布光度计_灯具检测生产厂家_杭州松朗光电【官网】 | 贵州水玻璃_-贵阳花溪闽兴水玻璃厂 | 点焊机-缝焊机-闪光对焊机-电阻焊设备生产厂家-上海骏腾发智能设备有限公司 | 重庆小面培训_重庆小面技术培训学习班哪家好【终身免费复学】 | 网站建设,北京网站建设,北京网站建设公司,网站系统开发,北京网站制作公司,响应式网站,做网站公司,海淀做网站,朝阳做网站,昌平做网站,建站公司 | 老城街小面官网_正宗重庆小面加盟技术培训_特色面馆加盟|牛肉拉面|招商加盟代理费用多少钱 | 体视显微镜_荧光生物显微镜_显微镜报价-微仪光电生命科学显微镜有限公司 | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | China plate rolling machine manufacturer,cone rolling machine-Saint Fighter | 热熔胶网膜|pes热熔网膜价格|eva热熔胶膜|热熔胶膜|tpu热熔胶膜厂家-苏州惠洋胶粘制品有限公司 | 萃取箱-萃取槽-PVC萃取箱厂家-混合澄清槽- 杭州南方化工设备 |