首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个Java jdesktop的windowClosing事件?

一个Java jdesktop的windowClosing事件?
EN

Stack Overflow用户
提问于 2010-10-29 05:01:43
回答 2查看 5.4K关注 0票数 1

我正在尝试使用NetBeans编写图形用户界面应用程序,我对此越来越厌倦。

我使用NetBeans构建了一个"Java桌面应用程序“。它将主窗体创建为org.jdesktop.application.FrameView的后代。我想知道什么是正确的方式来添加一些代码,这些代码在窗体关闭时执行。

到目前为止,我的尝试是在构造函数中使用getFrame().addWindowListener添加一个WindowAdapter对象,这是不起作用的。因为在框架还没有构造的时候,你不能调用getFrame。我不能把它看作是GUI构建器中的一个事件。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-29 18:05:15

Java 6.9.1中提供的NetBeans桌面应用程序仅用于历史用途,不建议在项目中使用。当我们尝试使用NetBeans桌面应用程序选项创建一个新项目时,Java 6.9.1也会显示此警告。

鉴于此,让我来回答您的问题,假设您仍在使用Swing应用程序框架,并且希望在主窗口中添加一个windowClosing侦听器。

当您创建一个Java桌面应用程序时,您将获得三个类(假设您键入了DesktopApplication1作为应用程序的名称):

  1. DesktopApplication1.java
  2. DesktopApplication1AboutBox.java
  3. DesktopApplication1View.java

要添加窗口关闭监听器,请在DesktopApplication1类的configureWindow方法中编写代码,如下所示:

代码语言:javascript
复制
@Override protected void configureWindow(java.awt.Window root) {

    root.addWindowListener(new WindowAdapter() {

        @Override
        public void windowClosing(WindowEvent e) {
            // write your code here
            System.out.println("Window Closing"); 
        }

    });
}

关于问候

Tushar Joshi,那格浦尔

票数 3
EN

Stack Overflow用户

发布于 2012-02-02 03:07:16

这只是对Tushar的回答的补充。

如果要在窗口关闭时提供确认对话框,则必须通过在startup method中添加ExitListener并使canExit方法返回false来更改缺省退出行为

代码语言:javascript
复制
@Override
protected void startup() {
    addExitListener(new ExitListener() {
        public boolean canExit(EventObject event) {
            return false;
        }
        public void willExit(EventObject event) {
        }
    });
    show(new DesktopApplication1View(this));
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4047144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档