我试图更改任务栏和程序的图标,但是当我使用代码时,我的图标只是默认的程序图标。这是我的代码:
public ByteBuffer loadIcon(String filename) throws IOException {
BufferedImage image = ImageIO.read(getClass().getResource(filename));
byte[] imageBytes = ((DataBufferByte) image.getRaster().getDataBuffer()).getData();
return ByteBuffer.wrap(imageBytes);
}
在我的初始化中,我打电话给:
Display.setIcon(new ByteBuffer[] {
loadIcon("/icon16.png"),
loadIcon("/icon32.png")
});
这里有什么问题?
修改
也试过这个。
public void setIcons(String[] refs) throws SlickException {
ByteBuffer[] bufs = new ByteBuffer[refs.length];
for (int i=0;i<refs.length;i++) {
LoadableImageData data;
boolean flip = true;
if (refs[i].endsWith(".tga")) {
data = new TGAImageData();
} else {
flip = false;
data = new ImageIOImageData();
}
try {
bufs[i] = data.loadImage(getClass().getResourceAsStream(refs[i]), flip, false, null);
} catch (Exception e) {
Log.error(e);
throw new SlickException("Failed to set the icon");
}
}
Display.setIcon(bufs);
}
setIcons(new String[] {
"/icon16.png",
"/icon24.png",
"/icon32.png"
});
还试过没有icon24.png。两者都不起作用。