【发布时间】:2014-12-05 18:36:52
【问题描述】:
所以,当我尝试以下代码时:
//Main Class
package com.mgflow58.Main;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class Game {
public static void main(String[] args) {
BufferedImage mainicon = null;
JFrame window = new JFrame("Guppy's Adventure");
window.add(new GamePanel());
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setResizable(false);
window.pack();
window.setLocationRelativeTo(null);
window.setVisible(true);
try {
String mainurlstring = "icon.gif";
URL mainurl = new URL(mainurlstring);
try {
mainicon = ImageIO.read(mainurl);
window.setIconImage(new ImageIcon(mainicon).getImage());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我收到以下错误:
java.net.MalformedURLException: no protocol: icon.gif
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at com.mgflow58.Main.Game.main(Game.java:28)
文件 icon.gif 位于根文件夹中,我什至尝试将其复制到执行代码的类所在的 src/com/mgflow58/Main 中。我做错了什么?无论我尝试哪种方法,我都无法设置图像图标,并且我已经尝试找到答案一段时间了。
【问题讨论】: