• 关闭窗口时弹对话框,点否就不关闭——的方法


      弹对话框的方法当然是让框架实现WindowListener,注意不是WindowsListener,然后重写windowClosing()方法,让窗口在正在关闭的时候弹一个窗口。

      一个窗口:

    int answer = JOptionPane.showConfirmDialog(this, "blah", "blah", JOptionPane.YES_NO_OPTION);

      注意对话框是要静态引用的,不需要new一个JOptionPane出来。

      后面用answer来if一下就不用说了,都是静态属性,YES_OPTION,NO_OPTION,CANCEL_OPTION,之类之类的。

      然后Yes就System.exit(0)。

      不过No,或者说else要单独说一下,单纯return的话因为框架已经在关闭中了,关掉对话框框架还是会继续关闭,所以我们要打断它。

      打断狗腿:

    this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

      半路给它set一下。

      据我观察,直接在框架初始化的时候设置是没用的,大概这个方法是一次性的吧。

      于是顺道介绍一下setDefaultCloseOperation()这个方法。

      参数里面有几个选项可选:

      1. EXIT_ON_CLOSE:关闭时调用System.exit(),整个关闭虚拟机,也就是说整个进程都结束掉了,应该用在最外面的,也就是主框架上。

      2. HIDE_ON_CLOSE:隐藏框架,依然保留在内存里,没实际使用过,大概在别处setVisible()一下就可以让它显示出来。

      3. DISPOSE_ON_CLOSE:处置(?)框架,取消框架显示的同时释放掉框架所占资源,和HIDE的区别是能释放内存,进程还会继续运行,可以用于子窗口。

      4. DO_NOTHING_ON_CLOSE:顾名思义,什么也不干,设置成这个的话不管怎么点叉都关不掉。

  • 相关阅读:
    安装黑苹果的config.plist
    navicat for mysql 导出数据的坑
    js中的深层复制
    js写的一个HashMap
    js前台数据校验
    nginx对上传文件大小的限制
    tomcat用户配置,内存配置,pid配置
    redis安装及使用
    程序端口被占用分析
    zookeeper+dubbo-admin开发dubbo应用
  • 原文地址:https://www.cnblogs.com/chihane/p/3512808.html
Copyright © 2020-2023  润新知