如何在带有 Swing gui 的后台线程中使用 jdbc

Posted

技术标签:

【中文标题】如何在带有 Swing gui 的后台线程中使用 jdbc【英文标题】:How to use jdbc in a background thread with a Swing gui 【发布时间】:2014-01-01 18:32:48 【问题描述】:

目前,在建立数据库连接时,我的整个 gui 必须冻结。因此,我想在后台线程/任务中运行连接,然后在建立连接时告诉用户。

我应该使用SwingWorker 还是普通的Thread 或其他类似的东西?

【问题讨论】:

docs.oracle.com/javase/tutorial/uiswing/concurrency @BrianRoach 哦,原来如此,谢谢 【参考方案1】:

我应该使用SwingWorker 还是普通的Thread 或其他类似的东西?

SwingWorker 将是最佳方式,因为它确保在事件调度线程上执行对 GUI 的更新。话虽如此,也可以使用Thread,只要确保在 EDT 上更新 GUI。

【讨论】:

以上是关于如何在带有 Swing gui 的后台线程中使用 jdbc的主要内容,如果未能解决你的问题,请参考以下文章

Swing GUI 不更新

Java AWT/SWT/Swing:如何规划 GUI?

Swing:不使用 EDT 创建 GUI 是不是安全? [复制]

带有 keylisteners 的 Java swing gui 程序在 linux 中不起作用

如何将 PyQt 插槽从后台线程连接到 gui 线程

由java中的另一个线程刷新GUI(swing)