`

NetBeans的关闭退出事件

阅读更多


实现Application.ExitListener接口,它可以允许你否决或者同意退出操作。默认的exit算法会在调用shutdown方法之前先查看所有的listener. 通过实现ExitListener接口,你可以提醒你的客户程序正在退出,并且还可以允许他们取消关闭操作。

ExitListener接口有两个方法

Public Boolean canExit(EventObject e)

Public void willExit(EventObject e)

使用canExit方法去回答退出请求。它返回一个true代表可以退出,返回一个false代表不可以退出。willExit方法仅仅起提示作用,但你也可以用它来执行一些退出前的准备工作。


示例5向你展示了如何实现ExitListener。请注意,例子调用了exit方法,它是在Application类中实现的了。Exit方法会提醒所有的ExitListener对象,如果所有的listener都同意退出,框架会调用shutdown方法最终关闭程序。

public class ConfirmExit extends SingleFrameApplication {
2
3    private JButton exitButton;
4
5
6
7    @Override
8
9    protected void startup() {
10
11        getMainFrame().setTitle("ConfirmExit");
12
13        exitButton = new JButton("Exit Application");
14
15        exitButton.addActionListener(new ActionListener() {
16
17            public void actionPerformed(ActionEvent e) {
18
19                exit(e);
20
21            }
22
23
24
25        });
26
27        addExitListener(new ExitListener() {
28
29            public boolean canExit(EventObject e) {
30
31                boolean bOkToExit = false;
32
33                Component source = (Component) e.getSource();
34
35                bOkToExit = JOptionPane.showConfirmDialog(source,
36
37                                "Do you really want to exit?") ==
38
39                                JOptionPane.YES_OPTION;
40
41                return bOkToExit;
42
43            }
44
45            public void willExit(EventObject event) {
46
47
48
49            }
50
51        });
52
53        show(exitButton);
54
55    }
56
57
58
59    @Override
60
61    protected void shutdown() {
62
63        // The default shutdown saves session window state.
64
65        super.shutdown();
66
67        // Now perform any other shutdown tasks you need.
68
69        //
70
71    }
72
73
74
75    /** *//**
76
77     * @param args the command-line arguments
78
79     */
80
81    public static void main(String[] args) {
82
83        Application.launch(ConfirmExit.class, args);
84
85    }
86
87
88
89}
分享到:
评论

相关推荐

    手机电子书应用程序,具有读取txt文本的功能,并能够结合实际使用情况添加其他功能

    平台 1.Sun Java Development Kit 1.5版或更高版本;...2、创建一个TextBox,向其中添加看书、退出、打开背光灯和关闭背光灯命令按钮。 3、再创建一个新Java类,类名为TurnPageCanvas,作用为翻页。

    遗传算法、交互式遗传算法Ver 0.002

    内容简介: 用Netbeans基于Java开发的遗传算法和交互式遗传算法平台,内含源代码,jar包等. 包含了: (1)传统遗传算法在函数优化中的应用,你可以仿照其中...(c)修改了乐曲进化前输入曲子窗口关闭时系统退出的bug。

    smartphonesimulator:使用 Java Swing 组件的类似 Android 的智能手机模拟器

    关闭应用程序或退出程序时数据将丢失。 模拟器不接受来自主机键盘的输入,而是使用内置键盘。 主用户界面布局由四部分组成:状态栏、应用程序、键盘和软键。 状态栏显示运营商和信号质量信息、时间和手机剩余电量...

    java源码包---java 源码 大量 实例

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java源码包2

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java源码包3

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java源码包4

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭...

    JAVA上百实例源码以及开源项目

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    JAVA上百实例源码以及开源项目源代码

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

Global site tag (gtag.js) - Google Analytics