我有一个 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 中更改它的位置。 (或者用文本编辑器打开它...)
关于java - 为什么 Swing formWindowClosed 不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14672040/