如何制作基于 URL 的图标,Java

How to make an icon URL based, Java

我制作了一个 Java 应用程序,它使用基于 URL 的图像而不是基于文件的图像。 我的问题是,有没有办法将 URL 图像变成图标图像?

frame.setIconImage(new ImageIcon("icon.png").getImage());

这就是我通常做图标图像的方式,但我试过了:

frame.setIconImage(new ImageIcon("i.imgur.com/<whatever>").getImage());

它似乎不起作用,那么有没有办法解决这个问题,或者至少有办法在不使用空白纹理文件的情况下完全删除图标?

URL url = new URL("http://some url/mypic.jpg");
Image image = ImageIO.read(url);

f.setIconImage(new ImageIcon(image).getImage());

您可以使用 ImageIcon(URL),但请记住,这会在后台线程中加载图标。

如果您想知道图像何时完全加载,您可能需要使用 MediaTracker

我建议改用 ImageIO.read(URL),因为这将 return 一个完全实现的图像

有关详细信息,请参阅 Reading/Loading an Image