Ich arbeite daran Swing-Grafiken zu lernen, und ich wollte versuchen, die Cursor-Farbe in Java zu ändern. Also habe ich eine gif-Datei mit einigen goldenen Sternen heruntergeladen, um sie für meinen Cursor zu verwenden, aber als ich das Bild als ImageIcon hinzugefügt habe, hat es die Farben der Sterne schwarz gemacht.Wie änderst du die Cursorfarbe in Java?
EDIT: Changed Grammatik
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();
}
}
Ich suchte nach Cursor einige der Methoden durch, aber ich habe nichts gefunden, das mir helfen könnte.
Dies ist das Bild, das ich bin versucht, wie mein Mauszeiger zu integrieren:
Ist es möglich, ein animiertes Bild in irgendeiner Weise zu verwenden? – Objekshin
@Objekshin: Ich denke nicht, aber sehen Sie die letzte Änderung, wenn Sie die Animation selbst erstellen möchten. – Berger
@Objekshin: Ich habe die andere Antwort getestet und es funktioniert wirklich gut (wenn Sie nicht Java 8 verwenden, überprüfen Sie die richtige Syntax, um 'Timer' zu verwenden). Da es global eine bessere Antwort als meine ist, hätte ich nichts dagegen, dass du stattdessen diese andere Antwort akzeptierst :) – Berger