[英]Cant seem to set text in Event Handler
我對Java還是很陌生,所以這里可能遺漏了一些基本的知識,但是這里就去了。
我有一個帶有按鈕的GUI,我想單擊它,將窗口中的文本更改為某些內容,然后執行任務
connectButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
databaseConnectWindow.setText("Connecting...");
connectToDatabase();
}
});
但是使用上面的代碼,直到conectToDatabse完成后,databaseConnectWindow中的文本才會更改。 有任何想法嗎?
對后台線程使用SwingWorker,這樣就不必鎖定GUI線程(否則稱為事件分發線程或EDT)。 有關更多信息,請查看課程:Swing中的並發
您正在UI線程中調用connectToDatabase()
。
在UI線程空閑之前,UI無法更新。
您應該在后台線程上連接到數據庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.