2013-03-25 48 views
1

我的应用程序是一个独立的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异步,但无法解决问题。

请给我一段代码,它会在javafx 2.1的后台与db进行交互。

感谢&问候 萨拉马特

回答

1

使用Task作为JavaFX Concurrency Tutorial

这使您可以安全地在后台线程上执行代码,而不会阻塞主UI线程。

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

+0

谢谢jewelsea它的工作正常。 – 2013-04-08 09:32:36