EXIT_ON_CLOSE:结束窗口所在的应用程序。在窗口被关闭的时候会退出JVM。

DISPOSE_ON_CLOSE:隐藏当前窗口,并释放此窗体占有的资源。如果程序没有其他线程在运行,当所有窗口都被dispose后,JVM也会退出。

举例说明:关闭窗体A,窗体B也会退出。关闭窗体B,窗体A不会退出。

  1. public class Demo{
  2. public static void main(String[] args){
  3. JFrame window1=new JFrame("窗体A");
  4. JFrame window2=new JFrame("窗体B");
  5. window1.setBounds(100,100,200,100);
  6. window2.setBounds(400,100,200,100);
  7. window1.setVisible(true);
  8. window2.setVisible(true);
  9. window1.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  10. window2.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
  11. }
  12. }
  1. 【窗体监听事件 WindowListener
    windowOpened 打开
    windowActivated 激活(获得焦点状态)
    windowDeactivated 非激活(失去焦点状态)
    windowIconified 最小化
    windowDeiconified 最小化恢复正常
    windowClosing 关闭(右上角X),优先于windowClosed
    windowClosed 关闭,DISPOSE_ON_CLOSE时才会被调用
  1. public class Demo extends JFrame {
  2. public Demo() {
  3. setBounds(100, 100, 300, 300);
  4. setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
  5. setVisible(true);
  6. addWindowListener(new MyWindowListener());//调用方法类对象
  7. }
  8.  
  9. class MyWindowListener implements WindowListener {
  10. public void windowOpened(WindowEvent e) {
  11. System.out.println("窗体打开");
  12. }
  13.  
  14. public void windowClosing(WindowEvent e) {
  15. System.out.println("窗体关闭exit");
  16. }
  17.  
  18. public void windowClosed(WindowEvent e) {
  19. System.out.println("窗体关闭dispose");
  20. }
  21.  
  22. public void windowIconified(WindowEvent e) {
  23. System.out.println("窗体最小化");
  24. }
  25.  
  26. public void windowDeiconified(WindowEvent e) {
  27. System.out.println("窗体最小化恢复正常");
  28. }
  29.  
  30. public void windowActivated(WindowEvent e) {
  31. System.out.println("窗体激活");
  32. }
  33.  
  34. public void windowDeactivated(WindowEvent e) {
  35. System.out.println("窗体非激活");
  36. }
  37. }
  38.  
  39. public static void main(String[] args) {
  40. new Demo();
  41. }
  42. }

窗体监听事件WindowListener的更多相关文章

  1. [置顶] java Gui 键盘监听事件

    简单写一个java Gui键盘监听事件,实现的效果就是按下键盘控制台输出你按下的键.比如:按下A控制台就输出A 效果如图: 以下把实现的效果分为几个步骤: 1.新建一个窗体类继承窗体: 2.给这个窗体 ...

  2. Android中Button的五种监听事件

    简单聊一下Android中Button的五种监听事件: 1.在布局文件中为button添加onClick属性,Activity实现其方法2.匿名内部类作为事件监听器类3.内部类作为监听器4.Activ ...

  3. Second Day: 关于Button监听事件的三种方法(匿名类、外部类、继承接口)

    第一种:通过匿名类实现对Button事件的监听 首先在XML文件中拖入一个Button按钮,并设好ID,其次在主文件.java中进行控件初始化(Private声明),随后通过SetOnClickLis ...

  4. js 获取当前焦点所在的元素、给元素和input控件添加键盘监听事件、添加页面级的键盘监听事件

    页面级的键盘监听事件 document.onkeydown = function (event) { var e = event || window.event || arguments.callee ...

  5. android listview 的监听事件

    今天遇到了一个比较让我头疼的问题,不过追根揭底只是我对listview理解的不够透彻罢了, 闲言少叙,说说我遇到的问题吧: 上篇随笔我写了关于listview的使用,如果你也已经写好了列表那么恭喜这一 ...

  6. Android成长日记-Android监听事件的方法

    1. Button鼠标点击的监听事件 --setOnClickListener 2. CheckBox, ToggleButton , RadioGroup的改变事件 --setOnCheckedCh ...

  7. Vue 为什么在 HTML 中监听事件?

    为什么在 HTML 中监听事件? 你可能注意到这种事件监听的方式违背了关注点分离(separation of concern)传统理念.不必担心,因为所有的 Vue.js 事件处理方法和表达式都严格绑 ...

  8. javascript事件有哪些?javascript的监听事件

    事件类型: 1.界面事件 onload:描述文档,图片,css已经frame,object加载完毕时触发,window.onload window.onload = function(){ //代表图 ...

  9. jQuery页面滚动监听事件及高级效果插件

    jQuery页面滚动监听事件及高级效果插件 1. One Page scroll (只适用于上下焦点图)http://www.thepetedesign.com/demos/onepage_scrol ...

随机推荐

  1. Record for Individual Project ( Word frequency program )

    1.  预计时间 ● 对问题总体的理解.规划:10 min ● 设计编写程序:5 h ● 调试: 分模块-40 min; 总体-40min ● 测试(性能分析).改进:1 h 2.  实际用时 ● 对 ...

  2. Linux内核分析第三章读书笔记

    第三章 进程管理 3.1 进程 进程就是处于执行期的程序 进程就是正在执行的程序代码的实时结果 线程:在进程中活动的对象.每个线程都拥有一个独立的程序计数器.进程栈和一组进程寄存器. 内核调度的对象是 ...

  3. 20135327郭皓--Linux内核分析第七周 可执行程序的装载

    第七周 可执行程序的装载 郭皓 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 ...

  4. cglib 动态代理

    JDK的动态代理比较慢,可以使用cglib的代理,速度比较快: package cn.demo02; import java.lang.reflect.Method; import java.util ...

  5. NumsCount

    package com.home.test; import java.util.Arrays; public class NumsCount { public void getNumCount(int ...

  6. Jquery获取和修改img的src值的方法

    转自:http://www.jb51.net/article/46861.htm 获取(代码): $("#imgId")[0].src; 修改(代码): $("#imgI ...

  7. git查看分支图

    git log --graph --decorate --oneline --simplify-by-decoration --all

  8. GitLab添加ssh-key,操作无需每次输入账号密码

    git config --global credential.helper store 然后操作pull/push 会让输入用户名密码,第一次输入进去.下次再操作pull/push时就不需要输入用户名 ...

  9. CentOS7 卸载mariadb 安装mysql的过程:

    1. 检查安装的mariadb rpm -qa |grep mariadb 得到已经安装的安装包 mariadb-libs-5.5.56-2.el7.x86_64mariadb-devel-5.5.5 ...

  10. python slots

    正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性.先定义class: >>> class Studen ...