【发布时间】:2012-07-13 13:56:15
【问题描述】:
好的,所以我正在尝试从 URL 读取图像,但它并没有真正做任何事情。 这是我用来从 URL 检索图像的方法:
public Image getImage(String url){
try{
System.out.println("gettingImage");
return ImageIO.read(new URL(url));
}catch(Exception e){
e.printStackTrace();
return null;
}
}
我添加了一个 System.out.println() 只是为了确保在我调用它时该方法正在实际执行。
我传递给它的网址是:http://i3.kym-cdn.com/photos/images/masonry/000/349/917/065.png(这是一个有效的网址)
我的输出是这样的:
gettingImage
它只是说'gettingImage'(来自我添加的 System.out.println())并且由于某种原因实际上并没有得到图像。没有堆栈跟踪,只有那个输出。任何帮助将不胜感激。谢谢。
【问题讨论】:
-
你的函数返回什么?空?
-
我的函数应该返回该图像。如果它返回 null,我会知道由于“e.printStackTrace()”
-
你怎么知道它没有得到图像?您的代码没有显示 getImage 的调用者...
-
@Josh:错了,请看这里:docs.oracle.com/javase/6/docs/api/javax/imageio/…
-
您应该从新线程调用该方法,因为它是阻塞方法。或者更好地使用
SwingWorker。
标签: java image swing javax.imageio imageicon