【问题标题】:Closing database connection on JFrame close在 JFrame close 上关闭数据库连接
【发布时间】:2018-03-16 09:44:16
【问题描述】:

我来自网络世界,其中数据库连接在应用服务器启动时打开并在其关闭时关闭。目前我需要创建一个带有数据库连接的 Swing 应用程序。很可能我会在没有连接池的情况下执行此操作,但这对我来说是一个考虑因素,与我的问题无关。我将使用 SQLite 数据库。

我可以在创建主要JFrame 的主要方法中打开一个连接,但是在哪里关闭它?在我看来,最好的情况是它在帧关闭时关闭 - 但如何?

当主窗口(程序)关闭时,如何正确关闭数据库连接?

【问题讨论】:

  • 将框架的默认关闭操作设置为DO_NOTHING_ON_CLOSE,然后添加WindowListener,并在它提示你实现的方法中断开DB。搜索每个并进行尝试。
  • 这里是链接,它可以解释你,如何写Window Listeners

标签: java database swing jframe connection


【解决方案1】:

你可以这样做。

JFrame frame = new JFrame();
frame.addWindowListener(new WindowAdapter()
{
    @Override
    public void windowClosing(WindowEvent e)
    {
        super.windowClosing(e);
        // Do your disconnect from the DB here.
    }
});

【讨论】:

    【解决方案2】:

    将标题栏设为只读,这样用户就无法通过单击右上角的十字按钮来关闭 JFrame。拿一个 JButton 来关闭 JFrame。在单击按钮的 actionPerformed 方法中,关闭数据库连接并编写 System.exit() 方法以正确退出应用程序。

    【讨论】:

    • 这不是很好的方法。用户希望标题栏以某种方式工作,这会让他感到困惑。 WindowListener 方法要好得多。
    猜你喜欢
    • 1970-01-01
    • 2011-10-19
    • 2013-10-16
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    • 2011-12-29
    • 2016-07-22
    相关资源
    最近更新 更多