سؤال

I want to add a taskbar icon for my running lwjgl process on Windows 7.

Display.setIcon changes successfully the icon in the topleft of the window, but not in the taskbar.

What do to?

My code, something like:

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[]{})) );

I tried adding a 40x40 image too, but no change.

هل كانت مفيدة؟

المحلول

This code worked just fine for me. No need of extra libs.

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);

نصائح أخرى

You should have a look at J7Goodies a Java library that provides many Windows 7 features.

This is what i found out after messing around after a few hours.

I used the 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)
                    });
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top