Cant似乎在事件处理程序中设置了文本



我是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无法更新。

您应该在后台线程上连接到数据库。

相关内容

  • 没有找到相关文章

最新更新