Flackern trotz DoubleBuffering

Guten Abend Java-Freunde,

ich habe eine JComponent - bei der DoubleBuffering per setDoubleBuffered(true) aktiviert wurde - die mittels der überschriebenen painComponent(Graphics g) Methode zeichnet. Außerdem rufe ich, wie es oft empfohlen wird super.paintComponent(Graphics g) auf.

Trotzdem gibt es, wenn ich Objekte pro Frame um einen Pixel bewege ein unschönes flackern - genau so, wie wenn ich das DoubleBuffering deaktiviere.

Weiß evtl. jemand woran das liegen könnte?
 
Hm...

Also es sind mehrere Rechtecke neben und übereinander. Also ein Feld quasi. Und zwischen diesen Rechtecken tauchen hier und da weiße Pixel auf, wenn die Rechtecke sich bewegen.
Also ein richtiges Flackern, dass das Bild weg und wieder da ist und wieder weg und wieder da etc., ist es nicht.
 
Habe bei der Komponente nur setDoubleBuffering(true) aufgerufen. Angeblich ist es dann damit erledigt. Scheint aber nicht so zu sein. ^^

Schonmal Danke für Deine Antworten! :)
 
Also so sieht die paintComponent() nun aus:

Java:
public void paintComponent(Graphics graphics)
    {
        super.paintComponent(graphics);
   
        BufferStrategy bs = frame.getBufferStrategy();
       
        if(bs == null)
        {
            frame.createBufferStrategy(2);
            requestFocus();
            return;
        }
       
        graphics = bs.getDrawGraphics();
       
       
        if (gamestate == GAMESTATE_GAMEMENU)
            gamemenu.render(graphics);
        else if (gamestate == GAMESTATE_GAMEPLAY)
            gameplay.render(graphics);
       
        graphics.dispose();
        bs.show();
    }

Bei den bewegenden Blöcken gibt es nun zwar nicht mehr diese weißen Abstände, allerdings flackert nun der gesamte Inhalt des Fenstern sehr schnell vom eigentlichen Inhalt zum Whitescreen und zurück und so weiter. :/
 

Thallius

Top Contributor
Naja das ist ja auch ziemich weit weg von dem was das Tutorial sagt... Sorry aber durchlesen und verstehen solltest du das schon bevor du es implementierst....
 
Ja stimmt hast ja Recht. Also das DoubleBuffering funktioniert jetzt.
Habe aber zwei weiter Fragen.
1. Sind Swing-Komponenten nicht eigentlich schon double gebuffert? Wenn nicht, was ist dann der Vorteil von JComponent zu z.B Canvas.
2. Ich möchte das Fenster aber dekoriert haben, also setUndecorated(false). Wenn das aber der Fall ist, habe ich unten und rechts unschöne nicht bezeichnete Ränder mit der Breite des Rahmens. Was kann man dagegen machen?

Und vielen Dank für Deine Antworten! :)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
K AWT flackern trotz buffering AWT, Swing, JavaFX & SWT 4
Z Flackern trotz Offscreen Image / Doublebuffer, (+ Frage zu Pixelvergleich) AWT, Swing, JavaFX & SWT 25
K Flackern trotz Double-Buffering AWT, Swing, JavaFX & SWT 10
S animation Flackern trotz doppelpufferung wieso? AWT, Swing, JavaFX & SWT 2
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
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
sylo Flackern des Mauszeigers bei DND AWT, Swing, JavaFX & SWT 4
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
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
K Bekomme (u.a) javafx.fxml.LoadException trotz "korrektem" Code AWT, Swing, JavaFX & SWT 8
M editorPane bleibt zu klein trotz setPage AWT, Swing, JavaFX & SWT 6
V JavaFX Button Controller Fehler, trotz Erfolg in einem anderem Code? AWT, Swing, JavaFX & SWT 7
A Swing Buttons werden trotz setVisible nicht dargestellt AWT, Swing, JavaFX & SWT 14
B Frame hängt sich auf trotz invokeLater AWT, Swing, JavaFX & SWT 1
G Komponenten vergrößern sich nicht trotz Layoutmanager AWT, Swing, JavaFX & SWT 24
U Swing NullPointerException trotz Referenz auf Textfield & Button AWT, Swing, JavaFX & SWT 6
K JavaFX Tableview mit fxml ohne Aktualiserung trotz Thread AWT, Swing, JavaFX & SWT 13
A trotz setSize keine breite AWT, Swing, JavaFX & SWT 4
M Trotz richtiger Daten, falsches Bild wird gezeichnet?! AWT, Swing, JavaFX & SWT 4
0 JTextPane copy/paste trotz editable(false) ? AWT, Swing, JavaFX & SWT 10
C Applet java.security.AccessControlException trotz signierten Jar AWT, Swing, JavaFX & SWT 7
J Swing JWindow flackert trotz Doppelpufferung AWT, Swing, JavaFX & SWT 2
B Swing JButton flackert trotz DoubleBufferings AWT, Swing, JavaFX & SWT 11
S Swing JTable RowSorter trotz RowFilter abschalten? AWT, Swing, JavaFX & SWT 2
T Fenster wird trotz repaint() und revalidate() nicht sofort neu gezeichnet AWT, Swing, JavaFX & SWT 6
R [gelöst]Fenster schließen - trotz Endlosschleife in der Paint-Methode? AWT, Swing, JavaFX & SWT 3
B JProgressbar wird nicht aktualisert, trotz Threads AWT, Swing, JavaFX & SWT 6
F Java heap space error trotz -Xmx512m AWT, Swing, JavaFX & SWT 9
O JFrame permanet im Vordergrund trotz Alt+Tab AWT, Swing, JavaFX & SWT 2
@ JPanel: kein paintComponent() trotz repaint() AWT, Swing, JavaFX & SWT 4
G Tabellenköpfe trotz Scrollpane ausschalten AWT, Swing, JavaFX & SWT 5
T JFrame#setSize trotz maximiert AWT, Swing, JavaFX & SWT 4
T Animation will nicht trotz Thread. AWT, Swing, JavaFX & SWT 14
S JFrame trotz undecorated vergroessern AWT, Swing, JavaFX & SWT 3
N Trotz richtiger ListSelectionMode kann ich keine Zeile sel? AWT, Swing, JavaFX & SWT 4
S Unterschiedliche Optik trotz gleicher Look and Feel Code? AWT, Swing, JavaFX & SWT 11
T repaint wird trotz Thread nicht ausgeführt AWT, Swing, JavaFX & SWT 5
G Leider trotz allem kein Icon :( Brauche Hilfe AWT, Swing, JavaFX & SWT 3
L DoubleBuffering unter Swing AWT, Swing, JavaFX & SWT 0
T 2D-Grafik Slideshow (DoubleBuffering und Image transformieren/bewegen) AWT, Swing, JavaFX & SWT 6
B Doublebuffering korrekt anwenden AWT, Swing, JavaFX & SWT 2
Dreamy Swing Mehrfaches DoubleBuffering in Swing? AWT, Swing, JavaFX & SWT 10
R noch ein DoubleBuffering Noob AWT, Swing, JavaFX & SWT 10
W DoubleBuffering nutzung? AWT, Swing, JavaFX & SWT 5
J Manual-DoubleBuffering im JPanel AWT, Swing, JavaFX & SWT 19
M zooming-Framework und doubleBuffering AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben