gpt4 book ai didi

java - 为什么 Swing formWindowClosed 不能正常工作?

转载 作者:行者123 更新时间:2023-11-29 03:37:38 24 4
gpt4 key购买 nike

我有一个 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com