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



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

相关内容

  • 没有找到相关文章