[英]Displaying a “Loading” message in Java Swing with HttpURLConnection
我的程序正在获取URL时,无法显示“正在加载”消息。 我尝试使用几种不同的方法,例如Thread
, SwingWorker
和SwingUtilities
,但是“ Loading”消息始终在获取网页后显示。 如何在获取网页之前显示“正在加载”?
public static void get(String url)
{
content.add(new JLabel("Loading..."));
content.repaint();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// load webpage
}
});
}
但是在获取网页后,始终会显示“正在加载”消息。
那么您的代码将阻止EDT,因此GUI无法重新绘制自身。
我尝试使用几种不同的方法,例如... SwingUtilities,
您使用invokeLater()发布的代码是错误的,因为您仍在EDT上执行长时间运行的任务。
我尝试使用几种不同的方法,例如Thread,SwingWorker,-
这些是正确的方法。 长时间运行的任务应该在您的Swing worker的Thread或doInBackground()
方法中执行。
阅读Swing 并发教程中的有关更多信息的部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.