繁体   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