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

时间:2017-07-17 15:13:29

标签: java swing netbeans jframe

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

1 个答案:

答案 0 :(得分:2)

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

选项编号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()来确保一切都立即终止。