如果这对您很重要,则可以使用
MediaTracker“等待”来加载图像,然后就不必担心提供
ImageObserver
try { MediaTracker mt = new MediaTracker(new JPanel()); Image image = Toolkit.getDefaultToolkit().createImage("..."); mt.addImage(image, 0); System.out.println("Wait for..."); mt.waitForAll(); System.out.println("I be loaded"); BufferedImage bi = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = bi.createGraphics(); g2d.drawImage(image, 0, 0, null); g2d.dispose();} catch (InterruptedException ex) { ex.printStackTrace();}看看
MediaTrackerJavaDocs了解更多详细信息
我不想添加任何GUI,我只需要下载图像或失败
好吧,如果您“需要下载”该图像,则可以使用
ImageIO.read(URL),请参阅阅读/加载图像以获取更多详细信息…然后,您无需关心
Image或
MediaTracker,因为
ImageIO返回的是
BufferedImage



