代码之家  ›  专栏  ›  技术社区  ›  Muhammad Alkarouri

Java jdesktop FrameView的窗口关闭事件?

  •  1
  • Muhammad Alkarouri  · 技术社区  · 15 年前

    我使用NetBeans构建了一个“Java桌面应用程序”。它创建主窗体作为 org.jdesktop.application.FrameView 后裔。我想知道在关闭表单时添加一些执行的代码的正确方法。

    到目前为止,我的当前尝试是添加 WindowAdapter 对象使用 getFrame().addWindowListener getFrame 而框架还没有构建。我不能把它看作是GUI构建器中的一个事件。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Tushar Joshi    15 年前

    NetBeansIDE6.9.1中提供的Java桌面应用程序仅用于历史目的,不建议在项目中使用。NetBeans IDE 6.9.1在尝试使用Java桌面应用程序选项创建新项目时也会显示此警告。

    alt text

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

    1. 桌面应用程序1.java
    2. 桌面应用程序1aboutbox.java
    3. 桌面应用程序1view.java

    @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"); 
            }
    
        });
    }
    

    关于
    那格浦尔图沙尔乔希

        2
  •  2
  •   Udo Held    14 年前

    这只是对图沙尔回答的补充。

    ExitListener 进入 startup method 并使 canExit 方法返回 false :

    @Override
    protected void startup() {
        addExitListener(new ExitListener() {
            public boolean canExit(EventObject event) {
                return false;
            }
            public void willExit(EventObject event) {
            }
        });
        show(new DesktopApplication1View(this));
    }