我有一個JButton,當我點擊它,我從數據庫加載一些數據初始化+一個JDialog有許多控制+填充這些控件與加載數據,則表明緩慢的JDialog。這需要大約3到5秒才能最終顯示JDialog,這會導致程序以不良方式凍結。如何在Event dispatch線程中同時運行兩個組件?
我創建了一個小型的JDialog從SwingX一個JXBusyLabel顯示在加載和初始化等過程緩慢忙碌的標籤。但是如何在初始化慢速對話框時在EDT中運行這個繁忙的標籤JDialog?
注:從數據庫加載數據不慢,但初始化重的JDialog及其部件造成慢處理。
不應該發生......粗略地說有多少種控制?你能否展示一段代碼片段,演示如何構建/填充緩慢的對話框? – kleopatra 2011-05-03 13:52:00
@kleopatra:它實際上會在3到5秒內凍結。我在這個問題中編輯了這個。 JDialog包含一個帶有7個選項卡的JTabbedPane +一些JLabel,每個選項卡內的JButton以及一些來自SwingX的JXColorSelectionButton ...我猜顏色按鈕會導致性能下降。 – Brad 2011-05-03 14:27:56
猜測是不夠的;-)如果你確定它是colorSelectionButton,請在swingx問題跟蹤器中提交問題(最好帶有一個小的可運行示例,以便我們可以重現它) – kleopatra 2011-05-03 14:31:35