Я работаю над изучением качающейся графики, и я хотел попытаться изменить цвет курсора в java. Поэтому я загрузил gif-файл некоторых золотых звезд, чтобы попытаться использовать его для моего курсора, но когда я добавил изображение в качестве ImageIcon, он превратил цвета звезд в черный.Как изменить цвет курсора в java?
EDIT: Изменены грамматики
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Point;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class stuff {
public static void main (String[] args)
{
JFrame frame = new JFrame("FRAME");
JPanel lpanel = new JPanel();
frame.setContentPane(lpanel);
ImageIcon goldStar = new ImageIcon("./res/goldStar.gif");
JLabel gs = new JLabel(goldStar);
lpanel.add(gs);
goldStar = new ImageIcon(goldStar.getImage().getScaledInstance((int)(goldStar.getIconWidth()/13), (int)(goldStar.getIconHeight()/13), Image.SCALE_SMOOTH));
lpanel.setCursor(Toolkit.getDefaultToolkit().createCustomCursor(goldStar.getImage(),new Point(0,0), "custom cursor"));
//I think these two lines are creating the problem.
lpanel.setPreferredSize(new Dimension(1600,900));
frame.setVisible(true);
frame.pack();
}
}
Я просмотрел некоторые из методов курсора, но я не нашел ничего, что могло бы помочь мне.
Это картина, которую я пытаюсь интегрировать как мой курсор мыши:
Можно ли использовать анимированное изображение любым способом? – Objekshin
@Objekshin: Я так не думаю, но посмотрю последнее изменение, если вы хотите создать анимацию самостоятельно. – Berger
@Objekshin: Я тестировал другой ответ, и он работает очень хорошо (если вы не используете Java 8, проверьте правильный синтаксис на использование таймера). Поскольку это глобально лучший ответ, чем мой, я бы не возражал, что вместо этого вы принимаете этот другой ответ :) – Berger