我是Java的新手,所以我可能在这里缺少一些基本的东西,但现在开始。
我有一个带按钮的GUI,我想点击它,将窗口中的文本更改为某个内容,然后执行任务
connectButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
databaseConnectWindow.setText("Connecting...");
connectToDatabase();
}
});
但是,对于上面的代码,数据库ConnectWindow中的文本直到conectToDatabse完成后才会更改。有什么想法吗?
使用SwingWorker作为后台线程,这样就不会锁定GUI线程,也就是事件调度线程或EDT。有关这方面的更多信息,请查看第一课:Swing 中的并发
您正在UI线程中调用connectToDatabase()
在UI线程空闲之前,UI无法更新。
您应该在后台线程上连接到数据库。