簡體   English   中英

無法似乎在事件處理程序中設置文本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM