2013-03-25 47 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