有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在点击JFrame的关闭按钮后删除MySql数据库记录?

我有两个JFrame表单,它们接受诸如姓名、注册号、性别等信息。姓名和性别在第一个JFrame表单上,而其他详细信息在第二个JFrame表单上。单击“下一个表单”按钮后,所有信息都存储在MySql数据库中。相同的按钮将用户带到下一个表单。如果用户填写第一个表单中的所有详细信息,并单击表单的“下一个表单”按钮,然后退出第二个表单,则只有一半的数据库将具有详细信息,而另一半则没有。 因此,请建议我这样的代码,当用户单击第二个表单的关闭(X)按钮时,数据库中保存的所有详细信息都会被删除。 (表单完全用NetBeans编码) 请帮帮我


共 (1) 个答案

  1. # 1 楼答案

    解决此方法的最佳方法是,在用户完成所有表单之前,不要将任何内容保存到数据库中(即,缓存第一个表单中的信息,并在用户完成所有数据后保存一次)

    选项2是在单击X按钮时删除数据,但这不是最好的,因为应用程序可以强制关闭,或者在无法执行任何操作的情况下。总之,下面是如何检测被点击的X按钮

    首先要禁用自动退出:

    // You probably have EXIT_ON_CLOSE instead of this somewhere in your code already, just replace with this
    frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    

    然后,您希望自己处理关闭事件:

    frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                // In here you can delete any data in the database or even use JOptionPane to confirm the exit
                // To close the frame once everything is done, do this:
                frame.dispose();
            }
        });
    

    注意:可以使用System.exit(0)而不是frame.dispose()来确保立即终止所有内容