我正在尝试使用NetBeans编写图形用户界面应用程序,我对此越来越厌倦。
我使用NetBeans构建了一个"Java桌面应用程序“。它将主窗体创建为org.jdesktop.application.FrameView的后代。我想知道什么是正确的方式来添加一些代码,这些代码在窗体关闭时执行。
到目前为止,我的尝试是在构造函数中使用getFrame().addWindowListener添加一个WindowAdapter对象,这是不起作用的。因为在框架还没有构造的时候,你不能调用getFrame。我不能把它看作是GUI构建器中的一个事件。
发布于 2010-10-29 18:05:15
Java 6.9.1中提供的NetBeans桌面应用程序仅用于历史用途,不建议在项目中使用。当我们尝试使用NetBeans桌面应用程序选项创建一个新项目时,Java 6.9.1也会显示此警告。

鉴于此,让我来回答您的问题,假设您仍在使用Swing应用程序框架,并且希望在主窗口中添加一个windowClosing侦听器。
当您创建一个Java桌面应用程序时,您将获得三个类(假设您键入了DesktopApplication1作为应用程序的名称):
要添加窗口关闭监听器,请在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,那格浦尔
发布于 2012-02-02 03:07:16
这只是对Tushar的回答的补充。
如果要在窗口关闭时提供确认对话框,则必须通过在startup method中添加ExitListener并使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));
}https://stackoverflow.com/questions/4047144
复制相似问题