java - Java jdesktop FrameView 的 windowClosing 事件?

标签 java swing netbeans

我正在尝试使用 NetBeans 编写 GUI 应用程序,但我对此越来越厌倦了......

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

到目前为止,我目前的尝试是在构造函数中使用 getFrame().addWindowListener 添加一个 WindowAdapter 对象,但这是行不通的。因为您不能在框架尚未构建时调用 getFrame。而且我无法将其视为 GUI 生成器中某处的事件。

最佳答案

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

alt text

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

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

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

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

@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,那格浦尔

关于java - Java jdesktop FrameView 的 windowClosing 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4047144/

相关文章:

java - 黑莓移动网络应用程序快捷方式

java - 不同列的网格颜色不同

java - 停止 Swing 定时器直到用户点击

java - 为什么标准 Java 迭代器没有 peek()?

java - 如何设置wsdl生成的webservice名称?

java - 如何使用 Maven 添加 Spring 库

Java:如何向通过java.awt.frame实现的GUI窗口添加滚动条?

java - 来自 db 乐观字段的 Netbeans 实体类

java - 导入 MigLayout 的正确包名称是什么?

maven - JSF 和 Richfaces/Primefaces - Maven - Netbeans 8.0.1 - Glassfish 4.1