Java Jlabel中的图片(带有ImageIO)

Java Jlabel中的图片(带有ImageIO),java,swing,url,jlabel,javax.imageio,Java,Swing,Url,Jlabel,Javax.imageio,你能告诉我如何从Url下载图片吗http://www.google.ru/intl/en_com/images/logo_plain.png)到JLabel但不保存在硬盘上 你能给我举个简单的例子吗? 我所需要的只是将图像从URL放到JLabel(例如使用ImageIO)类似的地方 JLabel label = new JLabel(new ImageIcon(ImageIO.read(new URL("http://www.google.ru/intl/en_com/images/logo_p

你能告诉我如何从Url下载图片吗http://www.google.ru/intl/en_com/images/logo_plain.png)到
JLabel
但不保存在硬盘上

你能给我举个简单的例子吗? 我所需要的只是将图像从
URL
放到
JLabel
(例如使用ImageIO)

类似的地方

JLabel label = new JLabel(new ImageIcon(ImageIO.read(new URL("http://www.google.ru/intl/en_com/images/logo_plain.png")));

这将引发许多异常,因此要小心,因为您似乎不需要使用ImageIO,即使您多次提到它,这是我知道的最简单的方法:

label = new JLabel(new ImageIcon(new URL(urlString)));

这可能很有用:)>[[1]:[[1]:FWIW:无需通过
ImageIO
(尽管它并不正确),您可以直接在
图像图标中使用
URL
constructor@VladPavlovImageIcon的优点是使用背景线程读取目标,这意味着它在下载/加载图像时不会阻止EDT。ImageIO将仅在图像下载完成后返回。这取决于在你的needs@GuillaumePolet我不喜欢
ImageIcon
的一个方面是,如果给它一个不指向它支持的图像的
URL
,它会自动失败。(尽管我不得不承认,在某些特殊情况下,“图像加载”会变得复杂而神秘,例如,不要将
ImageIO
用于动画GIF,例如-你只会得到第一帧..)需要注意的一点是,如果无法加载图像,则
ImageIcon
会自动失败。