Creating a custom cursor using png 32x32 images. The images are displaying perfect as a cursor on Windows and Mac but, on Linux the image is bad. Below I am pasting code to test the things by using some png image.
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.net.URL;
import javax.swing.*;
public class UserCursor {
private void initComponents() {
JFrame jf = new JFrame("Cursor Test");
jf.setLayout(new BorderLayout());
final JButton jb = new JButton("Change Cursor");
jf.getContentPane().add(jb,BorderLayout.NORTH);
jf.setSize(200, 200);
jf.setVisible(true);
final Cursor cur = createCursor();
jb.addMouseListener(new MouseAdapter(){
public void mouseEntered(MouseEvent arg0) {
jb.setCursor(cur);
}
});
}
private Cursor createCursor() {
Cursor userCursor=null;
Toolkit toolkit = Toolkit.getDefaultToolkit();
URL icon = getClass().getResource("images/someImage.png");
Image image = new ImageIcon(icon).getImage();
userCursor = toolkit.createCustomCursor(image, new Point(0, 0), "My Cursor");
return userCursor;
}
public static void main(String args[])
{
UserCursor uc= new UserCursor();
uc.initComponents();
}
}