`
逆风的香1314
  • 浏览: 1453266 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JFrame窗口关闭时,进行再次确认的实现

阅读更多
很基础的功能,不过我很少做GUI,所以特意自己留个记录。呵呵!也许大家早就知道怎么做了。

效果如下:



源代码:
  1. import java.awt.event.WindowAdapter;
  2. import java.awt.event.WindowEvent;
  3. import javax.swing.JDialog;
  4. import javax.swing.JFrame;
  5. import javax.swing.JOptionPane;
  6. /**
  7.  * 关闭窗口时,询问是否关闭。
  8.  * 
  9.  * @author 赵学庆,Java世纪网(java2000.net)
  10.  * 
  11.  */
  12. public class T extends JFrame {
  13.   T() {
  14.     this.setBounds(100100300200);
  15.     addWindowListener(new WindowAdapter() {
  16.       public void windowClosing(WindowEvent e) {
  17.         exit();
  18.       }
  19.     });
  20.   }
  21.   public static void main(String[] args) {
  22.     T t = new T();
  23.     t.setVisible(true);
  24.   }
  25.   public void exit() {
  26.     Object[] options = { "确定""取消" };
  27.     JOptionPane pane2 = new JOptionPane("真想退出吗?", JOptionPane.QUESTION_MESSAGE,
  28.         JOptionPane.YES_NO_OPTION, null, options, options[1]);
  29.     JDialog dialog = pane2.createDialog(this"警告");
  30.     dialog.setVisible(true);
  31.     Object selectedValue = pane2.getValue();
  32.     if (selectedValue == null || selectedValue == options[1]) {
  33.       setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); // 这个是关键
  34.     } else if (selectedValue == options[0]) {
  35.       setDefaultCloseOperation(EXIT_ON_CLOSE);
  36.     }
  37.   }
  38. }

分享到:
评论

相关推荐

    java在线答疑源码-OnlineQuiz:使用没有数据库的Jframe在线测验java程序

    描述中的 "OnlineQuiz" 与标题相呼应,再次确认了项目的主题。"java program using Jframe without database" 表明这是一个Java编写的应用程序,它使用了JFrame作为图形用户界面(GUI)的基础框架,而没有依赖数据库...

    JAVA五子棋课程设计.docx

    【JAVA五子棋课程设计】是一个基于Java编程语言的项目,旨在实现一个简易版的五子棋游戏。在这个项目中,学生需要运用Java基础知识来构建一个用户界面友好、功能完善的五子棋对弈平台。 一、系统设计 系统主要由两...

    订餐外卖JAVA课程

    - 主界面的初始化,设置窗口关闭操作、标题和背景颜色。 - 添加监听事件到按钮,如附近小吃、今日推荐和我的订单,实现点击事件处理。 - 数据库交互和业务逻辑处理,如添加购买信息到数据库(AddbuyInfo, ...

    安装eclipse插件

    按照提示进行,关闭并重新启动Eclipse。 7. **验证安装**:重启后,打开一个新的Java项目,右键点击类文件,选择“New” > “Other” > “Windows Builder” > “JFrame”或“JSwing Component”,如果能看到这些...

    javaSE代码实例

    11.6.2 如何启用/关闭断言 220 11.6.3 防止滥用断言 222 11.7 小结 222 第12章 封装类——鸿沟之上的桥梁 223 12.1 封装类的基本知识 223 12.1.1 封装类概述 223 12.1.2 创建封装类对象 223 12.1.3 ...

Global site tag (gtag.js) - Google Analytics