我有一个SWING
表单,当我关闭应用程序时,我想将数据保存到文本文件中。
这是我无法修改的 Swing 生成的代码:
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addWindowListener(new java.awt.event.WindowAdapter()
{
public void windowClosed(java.awt.event.WindowEvent evt)
{
formWindowClosed(evt);
}
});
这是我对formWindowClosed
的自定义实现。问题是应用程序关闭而不执行formWindowClosed。
formWindowClosed
不是我想在应用程序关闭之前放置执行的代码的方法吗?
formWindoClosed
实现:
private void formWindowClosed(java.awt.event.WindowEvent evt)
{
System.out.println("Message");
brain.getBirou().getProbaRepo().WriteParticipantToTXT();
}
如果要在进程退出之前执行代码,则必须将默认关闭操作设置为 WindowConstants.DISPOSE_ON_CLOSE
然后在侦听器方法中保存文件,然后在完成后调用System.exit(0);
。
此外,"Swing"不会自行生成代码。也许你应该自己手写你的GUI代码。然后,您当然可以修改任何内容。
您必须有可能更改窗口的退出行为,因此将其设置为关闭时处理应该会有所帮助。也许您应该查找可以在 IDE 中更改它的位置。(或者只是用文本编辑器打开它...
你可以改用formWindowClose。
要通过 Netbeans IDE GUI Builder 执行此操作,请执行以下操作:转到"设计"视图,然后右键单击"导航"窗口中的 [JFrame]。转到事件,然后选择要添加的事件。
请记住在默认关闭操作属性中将框架标记为DO_NOTHING_ON_CLOSE。