我想在Windows 7上为运行的lwjgl进程添加任务栏图标。
Display.setIcon在窗口的topleft中成功更改了图标,但未在任务栏中更改。
做什么?
我的代码,例如:
ArrayList byteBuffers = new ArrayList();
byteBuffers.add( ImageHelper.loadImageAsIconImage("stickmanicon32x32.png") );
byteBuffers.add( ImageHelper.loadImageAsIconImage("stickmanicon16x16.png") );
System.out.println( "taskbaricon result: " + Display.setIcon(byteBuffers.toArray(new ByteBuffer[]{})) );
我也尝试添加40x40图像,但没有变化。
答案 0 :(得分:4)
这段代码对我来说很好。不需要额外的库。
ByteBuffer[] list = new ByteBuffer[2];
list[0] = createBuffer(ImageIO.read(new File("src/Images/Tests/icon16.png")));
list[1] = createBuffer(ImageIO.read(new File("src/Images/Tests/icon32.png")));
Display.setIcon(list);
答案 1 :(得分:2)
您应该查看J7Goodies提供许多Windows 7功能的Java库。
答案 2 :(得分:2)
这是我在几个小时后弄乱后发现的。
我使用了slick-util lib。
Display.setIcon(new ByteBuffer[] {
new ImageIOImageData().imageToByteBuffer(ImageIO.read(new File("res/game/gameIcon.png")), false, false, null),
new ImageIOImageData().imageToByteBuffer(ImageIO.read(new File("res/game/gameIcon.png")), false, false, null)
});