我已经尝试了很多,但似乎无法让它发挥作用.
有人告诉我使用EDT以下例子.
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// Modify the GUI here
}
});
我已经阅读了很多这个主题但仍然不明白.我得到的是一个线程,但.invokeLater对我来说仍然没有意义.老实说,如果你能详细解释一下这将是一个很大的帮助!
程序目标:获取随后每秒创建的随机生成的密钥,以便在GUI中自动更新.
解决方法:
所以有一个EDT(Event Dispatch Thread).屏幕上显示的所有操作均由EDT执行.每个Swing应用程序只有一个EDT.
你在一些任意线程中,你想通过该线程更新GUI?就像我说的每个swing应用程序只有一个EDT,所以你必须告诉EDT显示标签(或你想要的任何上下文).
这里的想法是,你将这个Runnable推到EDT拉出的队列中.最终,当完成之前的所有其他操作时,EDT将处理您的可运行.
标签:java,user-interface,jframe
来源: https://codeday.me/bug/20190518/1129248.html