我已尝试过以下代码。
try {
this.setIconImage(ImageIO.read(new File("/resources/dbs.ico")));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
JOptionPane.showMessageDialog(null, e.getMessage());
System.exit(0);
}
Alsow我已经尝试了下面给出的代码。
yourFrame.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource(Filepath)));
我也试过下面给出的代码。
URL iconURL = getClass().getResource("/some/package/favicon.png");
ImageIcon icon = new ImageIcon(iconURL);
frame.setIconImage(icon.getImage());
但是所有这些解决方案都没有奏效。 目录结构是:
/pro_root/com/girishpro/multirecharge/resources/dbs.ico
我也试过了。
/pro_root/resources/dbs.ico
dbs.ico是我想要设置为JFrame的Icon的图像。请帮我解决这个问题。
答案 0 :(得分:4)
使用ImageIO.getReaderFileSuffixes()
获取Java运行时可以读取的文件类型数组。它可能看起来像这样(现在这台机器的实际例子):
type: bmp
type: jpg
type: wbmp
type: jpeg
type: png
type: gif
不。没有ico
类型。
答案 1 :(得分:1)
as the answer is given above. In java, .ico is partially or not supported. So to everyone who is finding correct solution, please ensure that for icon, you are not using .ico file for icon. Thanks to Andrew Thompson
答案 2 :(得分:0)
根据您的结构,dbs.ico与您的类的包一起放在根目录中。
所以代码应该可以工作
ImageIO.read(getClass().getResourceAsStream("/dbs.ico"))
答案 3 :(得分:0)
尝试下面的代码,根据JFrame的类验证图像的路径。
try {
SetIconImage(ImageIO.read(getClass().getResource("/images/image.ico")));
} catch (IOException e) {
e.printStackTrace();
}