This code sets up a 16x16 PNG as IntBuffer for use as cursor:
public static IntBuffer getHandMousePointer()
{
Image c=Toolkit.getDefaultToolkit().getImage(Icon.class.getResource("/data/cursor_hand.png"));
BufferedImage biCursor=new BufferedImage(16,16,BufferedImage.TYPE_INT_ARGB);
while(!biCursor.createGraphics().drawImage(c,0,15,15,0,0,0,15,15,null))
try
{
Thread.sleep(5);
}
catch(InterruptedException e)
{
}
int[] data=biCursor.getRaster().getPixels(0,0,16,16,(int[])null);
IntBuffer ib=BufferUtils.createIntBuffer(16*16);
for(int i=0;i<data.length;i+=4)
ib.put(data[i] | data[i+1]<<8 | data[i+2]<<16 | data[i+3]<<24);
ib.flip();
return ib;
}