Flackern des Mauszeigers bei DND

sylo

Bekanntes Mitglied
HI zusammen

Ich hoffe ich nerve nicht schon wieder mit dieser Frage, aber ich bin noch nicht ganz schlau geworden aus der Sache.

Folgende Situation:

Ich habe einen Jtreetable in dem ich mittels Drag and Drop, Knoten verschieben bzw. kopieren kann. Da man bestimmte Knoten nur vor, nach oder in den Knoten, unter dem Mauszeiger, droppen kann, möchte ich den Cursor ändern. Das funktioniert auch aber eben nur mit dem Flackern.

Soweit ich das verstanden habe, benutzen die Swing-Objekte bereits DoubleBuffer, somit komm ich da nicht weiter.

Ich mache nun folgendes:
Ich überschreibe die PaintComponent-Methode von JTreeTable, welches von JTable erbt
Java:
public void paintComponent(Graphics g) {
        super.paintComponent(g);
    }
So wie ich das verstehe wird nun das aktuelle Bild nicht gelöscht und neu gezeichnet sondern nur gezeichnet.

In der Methode DragOver() mache ich dann folgendes:
Java:
tempImage = new ImageIcon(this.getClass().getResource("/icons/In2.png")).getImage();
                    cursor = frame.getToolkit().createCustomCursor(tempImage, new Point (5, 5), "DropCursor1");
                    jTreeTable.setCursor(cursor);

Hier ist noch ne Abfrage aussenrum, die aber nichts zur sache tut.

Am Ende von dieser Methode mach ich dann ein repaint.
Java:
jTreeTable.repaint();

Und mein Cursor flackert beim Bewegen.

Danke schonmal für eure Hilfe.

Grüße
sylo
 
G

Gast2

Gast
In der Methode DragOver() mache ich dann folgendes:
Java:
tempImage = new ImageIcon(this.getClass().getResource("/icons/In2.png")).getImage();
                    cursor = frame.getToolkit().createCustomCursor(tempImage, new Point (5, 5), "DropCursor1");
                    jTreeTable.setCursor(cursor);

sylo

Du erzeugst JEDES mal ein neues Image, das solltest du vielleicht vermeiden und nur einmal machen...
 

sylo

Bekanntes Mitglied
Habs gerade geändert und die Images werden nun nur einmal geladen und bei Bedarf geändert.
Es flackert nun wesentlich weniger aber es flackert noch.

Sirwayne, kannst du meine Denkweise, die ich oben beschrieben habe, bestätigen?
 
G

Gast2

Gast
Habs gerade geändert und die Images werden nun nur einmal geladen und bei Bedarf geändert.
Es flackert nun wesentlich weniger aber es flackert noch.

Sirwayne, kannst du meine Denkweise, die ich oben beschrieben habe, bestätigen?

Nee kann ich nicht weiß nicht was du sonst nochfür Operationen aufrufst die unperformant sind ...
Mach ein KSKB das geht am schnellsten zum schauen was schief läuft...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Flackern trotz DoubleBuffering AWT, Swing, JavaFX & SWT 8
L JButton flackern - Programm hängt sich auf AWT, Swing, JavaFX & SWT 3
G Applet Applet Komponenten flackern AWT, Swing, JavaFX & SWT 10
G Swing Flackern nach Override von paintComponent() AWT, Swing, JavaFX & SWT 3
S Swing Flackern und ausbrechen bei neuzeichnung AWT, Swing, JavaFX & SWT 7
K AWT flackern trotz buffering AWT, Swing, JavaFX & SWT 4
Z Flackern trotz Offscreen Image / Doublebuffer, (+ Frage zu Pixelvergleich) AWT, Swing, JavaFX & SWT 25
J Flackern wie mit BufferedImage beheben AWT, Swing, JavaFX & SWT 4
V Applet JApplet Flackern durch Repaint AWT, Swing, JavaFX & SWT 11
L Swing Flackern in Frame bei erstem Klick AWT, Swing, JavaFX & SWT 19
R Flackern beim JPanel-Übermalen AWT, Swing, JavaFX & SWT 9
P SWT SWT flackern beheben AWT, Swing, JavaFX & SWT 9
D Undecorated JFrame ohne Flackern resizen AWT, Swing, JavaFX & SWT 21
K Flackern trotz Double-Buffering AWT, Swing, JavaFX & SWT 10
G ColorReader, bei Fadenkreuz zeichnen mit repaint() flackern AWT, Swing, JavaFX & SWT 19
eQuest Swing Snake repaint() "flackern" AWT, Swing, JavaFX & SWT 13
J Flackern in JEditorPane() AWT, Swing, JavaFX & SWT 14
JRTHEFROG Auflösungsabhängiges Flackern von Bildschirmmasken AWT, Swing, JavaFX & SWT 3
B JFrame flackern durch setSize() AWT, Swing, JavaFX & SWT 8
N Flackern beim neuzeichnen von JPanel AWT, Swing, JavaFX & SWT 19
S Falsche Position, Elemente erscheinen nicht, Flackern AWT, Swing, JavaFX & SWT 6
S animation Flackern trotz doppelpufferung wieso? AWT, Swing, JavaFX & SWT 2
U Flackern verhindern AWT, Swing, JavaFX & SWT 5
J Flackern beim ersten laden von JPanel AWT, Swing, JavaFX & SWT 4
T Labels verschieben / Flackern AWT, Swing, JavaFX & SWT 2
C Größe des Mauszeigers ermitteln AWT, Swing, JavaFX & SWT 5
T JSlider getValue() erst nach dem Loslassen des Mauszeigers AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben