dispose方法和setvisible方法的区别和使用
dispose方法和setvisible方法的区别:
dispose()撤销当前窗口,并释放当前窗口所使用的资源。
setVisible()方法仅仅隐藏窗体,可设置窗口是否可见,窗口默认是不可见的。
在使用dispose()和setVisible()方法时,表面上没有任何区别。
setVisible方法的使用:
JFrame window=new JFrame ();
//window. setVisible (true);//设置窗口可见。
window. setVisible (false);//设置窗口不可见。
window.pack();//关闭的窗体可用pack和show方法恢复
对于主窗口,可以使用下面的方法关闭,整个程序也相应退出
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
如果要关掉子窗口,子窗口的相关资源也要释放,但是主程序不能退出,那么就要使用dispose()方法。
dispose方法的使用:
package widow;import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;public class text extends JFrame {public static void main(String[]args){text t = new text();t.launch();}public void launch(){try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());} catch(Exception e){e.printStackTrace();}JMenuBar menuBar = new JMenuBar();JMenu menu = new JMenu("menu");JMenuItem item = new JMenuItem("item");menu.add(item);item.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {final JFrame child = new JFrame("popupFrame");child.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);child.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {//调用这个方法之后,child 的相关资源全都会释放。child.dispose();}});child.setSize(260,150);child.setLocation(400,300);child.setVisible(true);}});menuBar.add(menu);setJMenuBar(menuBar);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocation(300,200);setSize(300,200);setVisible(true);}
}
dispose方法的使用摘自他人博客(本人新手还写不出来):https://blog.csdn.net/Folmarcher/article/details/50890727?utm_source=app
dispose方法和setvisible方法的区别和使用相关推荐
- 请简述一下线程的sleep()方法和yield()方法的区别?
请简述一下线程的sleep()方法和yield()方法的区别? ①sleep()方法给其他线程机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会. yield()方法只会给相同优先级或更高优 ...
- Java并发编程—schedule方法和scheduleAtFixedRate方法的区别
原文作者:一叶丿清风 原文地址:schedule方法和scheduleAtFixedRate方法的区别 schedule方法和scheduleAtFixedRate方法都可以实现任务的延时和不延时执行 ...
- flush方法和close方法的区别
package com.learn.Demo05Writer;import java.io.FileWriter; import java.io.IOException;/*flush方法和close ...
- ExtJS中listener方法和handler方法的区别
listener方法和handler方法的区别在文档中的说明的太玄乎了,看不懂 listeners监听能够对一个click Event事件添加任意多个的事件响应处理函数 而handler处理只能够通过 ...
- python predict_对Keras中predict()方法和predict_classes()方法的区别说明
1 predict()方法 当使用predict()方法进行预测时,返回值是数值,表示样本属于每一个类别的概率,我们可以使用numpy.argmax()方法找到样本以最大概率所属的类别作为样本的预测标 ...
- java——Scanner中nextLine()方法和next()方法的区别
遇到一个有意思的东西,在整理字符串这块知识的时候,发现我在用Scanner函数时,在字符串中加入空格,结果空格后面的东西没有输出来(/尴尬),不多说直接上代码: import java.util.Sc ...
- get方法和post方法的区别及常用的请求方式
get方法和post方法的区别: get方法是从服务器上获取资源:post方法是向服务器传送数据: get方法参数是通过url传递的,post方法是放在request body中:GET比POST更不 ...
- Keras中predict()方法和predict_classes()方法的区别
正如上篇博客中所讲,在Keras框架下执行深度学习任务时,一般会先根据训练数据集训练出模型,然后拿训练好的模型到生产环境(测试集)中部署并生产.以分类问题为例,当训练好了分类模型之后,我们要用这个模型 ...
- VBA中Activate方法和Select方法的区别
VBA中的Activate方法和Select方法看起来似乎相同,其实二者是有区别的.Activate方法的作用是激活,而Select方法的作用是选择.其区别如下: 1.对于"Sheets&q ...
最新文章
- Microsoft SQL Server学习(二)--数据库的语法
- 在Servlet中处理表单提交的数据
- css3 选择器_CSS 3
- 常见的几种最优化方法
- 云炬WEB开发教程2-2 node.js和npm介绍和安装
- android 查看多个图片,一分钟实现Android多张图片选择
- 常见的排序算法二——希尔排序
- 将一张图片修改为合适的像素大小
- 从微店到小程序店,微商仍是电商途中的苦行僧?
- [USACO11DEC] 牧草种植Grass Planting
- 拓端tecdat|用R语言用Nelson Siegel和线性插值模型对债券价格和收益率建模
- CUDA驱动版本与运行版本不匹配问题详解
- GoogleEarth的安装与使用
- win7电脑误删鼠标键盘驱动_鼠标键盘,教您怎么解决键盘和鼠标失灵的问题
- 计算机中怎样算2的21次方,脑筋急转弯:2的31次方与3的21次方哪个大?天才知道!...
- 二手手机验机教程(不拆机)
- 技术决胜年----谈谈我2018年的新观念新思想
- docker实战——在测试中使用Docker
- springboott整合mybatis-plus和sharding-jdbc实现分库分表和读写分离(含完整项目代码)
- Django中多对多查询方式