如何在javafx 2.1中的后台线程中运行查询

时间:2013-03-25 10:26:10

标签: java

我的应用程序存在问题,这是一个独立的Java应用程序。我使用的是核心java,JDBC和javafx 2.1。我必须向用户显示数据库中表中存在的行数。为此我在我的java代码中触发SELECT COUNT(*) FROM SCHEMA.TABLENAME并在tableView(javafx 2.1)中显示结果。由于我的数据库包含大量具有大行数(表中行数)的表,因此该过程需要花费大量时间(30分钟)。使用这种方法,我的tableview被卡住了,用户将无法继续进行,直到该过程完成。我在我的代码中使用了正常的Thread.sleep()

我想在后台运行该过程,以便用户可以执行其他任务。进程完成后,应通知用户。我试过javafx 2.1异步,但无法解决问题。

请给我一些代码,这些代码将在javafx 2.1的后台与db进行交互。

感谢和安培;问候 萨拉马特

1 个答案:

答案 0 :(得分:1)

使用Task中的JavaFX Concurrency Tutorial

这允许您在后台线程上安全地执行代码,而不是阻止主UI线程。

以下是使用Task访问数据库的一些sample code