我在swing应用程序中有以下代码:
URL url = new URL("http://stackoverflow.com/");
InputStream is = url.openStream();
但是,使用openStream方法下载网页会使swing应用程序挂起,直到网页完全下载为止。如何防止这种/什么是替代品,所以我可以显示加载图像,直到网页完全下载?
答案 0 :(得分:3)
您可以使用多个相互等待的线程。
答案 1 :(得分:3)
加载一个单独的线程:
InputStream is = null;
Thread worker = new Thread() {
// show "loading..."
public void run() {
try {
URL url = new URL("http://stackoverflow.com/");
is = url.openStream();
} catch (InterruptedException ex) { ... }
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// show "done" or remove "loading..."
}
});
}
};
worker.start();