我想为在Windows 7上运行的lwjgl进程添加一个任务栏图标。
Display.setIcon成功地改变了窗口顶部的图标,但不是在任务栏中。
怎么办?
我的代码,如下所示:
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[]{})) );
我也尝试添加一个40×40的图像,但没有改变。
这段代码对我来说工作得很好。 不需要额外的库。
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);
你应该看看J7Goodies提供了许多Windows 7功能的Java库。
这是我在几个小时后搞乱了之后发现的。
我使用了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) });