Verhindern das repaint beim vergrößern aufgerufen wird

Robat

Top Contributor
Der einzig mir bekannte Weg ist über den RepaintManager.

Java:
RepaintManager myPanelsManager = RepaintManager.currentManager(myPanel)
myPanelsManager.markCompletelyClean(myPanel);

Das würde das auto-repaint() verhindern.
Ich kann dir aber nicht sagen welche Nebeneffekt der Weg eventuell hat da ich es selber noch nie benutzt habe.

Wenn du nur verhindern willst dass repaint() während des vergrößeren / verkleinern des Fensters aufgerufen wird dann könnte das auch hilfreich sein:
Java:
Toolkit.getDefaultToolkit().setDynamicLayout(false);
(Quelle)

Gruß Robert
 

Dyrak

Mitglied
Bin ja gerade dabei ein TicTacToe mit dynamischer Größe zu programmieren und wenn man zu viele Zeilen, Spalten generiert dann sind die Felder sehr klein und man muss das Fenster vergrößern. Leider wird dann immer das zuletzt gezeichnete auf allen Felder gezeichnet.
 

mrBrown

Super-Moderator
Mitarbeiter
Bin ja gerade dabei ein TicTacToe mit dynamischer Größe zu programmieren und wenn man zu viele Zeilen, Spalten generiert dann sind die Felder sehr klein und man muss das Fenster vergrößern. Leider wird dann immer das zuletzt gezeichnete auf allen Felder gezeichnet.
Dann solltest du den Fehler beheben, anstatt zu verhindern, dass er sich zeigt.
 

Dyrak

Mitglied
Weißt du vielleicht wie man den Fehler beheben kann ?
count ist am Anfang 0 und bei jedem Klick wird count um 1 erhöht.

Java:
 public void paintComponent(Graphics g)
{
     super.paintComponent(g);
    
     if(Variables.count == 0)
     {
         return;
     }
    
     if(Variables.count % 2 == 0)
     {
         g.drawImage(ImageLoader.imgX, 0, 0, this.getWidth(), this.getHeight(), null);    
     } else {
         g.drawImage(ImageLoader.imgO, 0, 0, this.getWidth(), this.getHeight(), null);
     }
}
}
 

Thallius

Top Contributor
Naja so geht das natürlich nicht. Du solltest dem Panel ein Flag (boolean) geben ob es schon geklcickt wurde oder nicht. Also wenn ein Panel geklickt wird, dann panel.setClicked(true). in der paintComponent frgst du dann nur noch ob ob das flag gesetzt ist oder nicht und wählst das entsprechende Bild

Gruß

Claus
 

Dyrak

Mitglied
Jedes Panel hat schon einen boolean aber wie kann ich auswählen welches Bild es laden soll. Bei (!p.bool) soll es zeichnen und wenn es true ist eben nicht. Falls es false ist soll es erst ein X und danach ein O laden.

Gruß
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Race Condition mittels Semaphore verhindern Java Basics - Anfänger-Themen 13
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
CptK Unnötige Schreibarbeit in for Schleife verhindern Java Basics - Anfänger-Themen 12
M Best Practice Verschieben einzelner Spalten eines JTables verhindern Java Basics - Anfänger-Themen 5
R Zeilenediting verhindern Java Basics - Anfänger-Themen 3
A charAt(x)-Abfrage lässt bei Strings<x das Pgrogramm abstürzen. Kann man das verhindern? Java Basics - Anfänger-Themen 4
E Buchstaben verhindern / Try & Catch Block Java Basics - Anfänger-Themen 3
O JTextArea: Wo wird der Text gespeichert? Wie kann man es verhindern? Java Basics - Anfänger-Themen 4
P JFrame Component automatische Größe verhindern Java Basics - Anfänger-Themen 2
E Exception verhindern? Java Basics - Anfänger-Themen 5
H Zugriff auf Desktop verhindern Java Basics - Anfänger-Themen 6
B Fehler mit try + catch verhindern Java Basics - Anfänger-Themen 8
G txt-File als DB>doppelte Einträge verhindern/Suche/... Java Basics - Anfänger-Themen 10
T ArrayList mit verschiedenen Datentypen verhindern Java Basics - Anfänger-Themen 8
C Zeilenumbruch verhindern / Clrscr ? Java Basics - Anfänger-Themen 3
J Überlauf verhindern Java Basics - Anfänger-Themen 4
V Multithread NullPointerException verhindern Java Basics - Anfänger-Themen 8
A Stilfrage: statische Methoden und Attribute auf jeden Fall verhindern? Java Basics - Anfänger-Themen 5
V Zeilenumbruch bei der Eingabe verhindern Java Basics - Anfänger-Themen 6
S JTable--Beschreiben der Zellen durch Doppelklick verhindern Java Basics - Anfänger-Themen 4
G Aufruf verhindern: JTable.getValueAt Java Basics - Anfänger-Themen 2
I Zugriff auf Implementierung verhindern Java Basics - Anfänger-Themen 8
N Mehrmaliges ausführen verhindern Java Basics - Anfänger-Themen 10
M Hashtable gleichzeitigen Zugriff verhindern Java Basics - Anfänger-Themen 11
S Screenshots verhindern? Java Basics - Anfänger-Themen 5
G Propertydatei wird zweimal erstellt ? Wie verhindern? Java Basics - Anfänger-Themen 6
J Dynamische Größenveränderung der Komponenten verhindern Java Basics - Anfänger-Themen 8
J Verhindern das Werte in einem Array verloren gehen Java Basics - Anfänger-Themen 13
G JTable - automatische Eintragung von Daten verhindern Java Basics - Anfänger-Themen 7
B Zahlenwiederholung bei Math.random verhindern Java Basics - Anfänger-Themen 4
G Eingabe verhindern Java Basics - Anfänger-Themen 2
P decompilierung verhindern? Java Basics - Anfänger-Themen 5
G mehrfaches Öffnen eines JInternalFrame verhindern Java Basics - Anfänger-Themen 11
F Eingabe von Buchstaben verhindern Java Basics - Anfänger-Themen 5
G java.lang.IllegalThreadStateException nicht zu verhindern! Java Basics - Anfänger-Themen 4
V Doppelte Zahlen bei Lotto verhindern Java Basics - Anfänger-Themen 11
N Overflow verhindern? Java Basics - Anfänger-Themen 16
F Verhindern des schließen des Fensters Java Basics - Anfänger-Themen 6
D Wenn ich repaint(); mache, flackert es so stark, das man fast nichts erkennen kann. Java Basics - Anfänger-Themen 11
S Repaint() Java Basics - Anfänger-Themen 1
J Erste Schritte Mit repaint() ist Label nicht sichtbar Java Basics - Anfänger-Themen 15
S Repaint() in der Schleife funktioniert nicht immer Java Basics - Anfänger-Themen 5
H Graphics / repaint Java Basics - Anfänger-Themen 8
M Liste mit repaint aktualisieren Java Basics - Anfänger-Themen 1
E Probleme mit repaint() Java Basics - Anfänger-Themen 15
K Erkennt repaint nicht Java Basics - Anfänger-Themen 1
S KeyListener/ActionListener/paint()/repaint() Java Basics - Anfänger-Themen 3
1 repaint() Funktion erzeugt Flackern Java Basics - Anfänger-Themen 33
I Anfängerfrage JPanel repaint() Java Basics - Anfänger-Themen 6
A externer repaint Aufruf Java Basics - Anfänger-Themen 9
G Problem mit repaint() Java Basics - Anfänger-Themen 2
J repaint() geht gar nicht; GUI aktualisieren Java Basics - Anfänger-Themen 10
J paint() vs repaint() Java Basics - Anfänger-Themen 3
C repaint wird nicht während Druck auf Maustaste ausgeführt. Java Basics - Anfänger-Themen 4
A Methoden repaint() zeichnet JPanel falsch Java Basics - Anfänger-Themen 3
P [JTable] Problem mit repaint() Java Basics - Anfänger-Themen 2
P Interpreter-Fehler Im for loop funkzioniert repaint nicht :( Java Basics - Anfänger-Themen 4
M repaint() in run-Methode funktioniert nicht Java Basics - Anfänger-Themen 9
O Probleme mit der repaint-Funktion Java Basics - Anfänger-Themen 6
W repaint() ruft paint() nicht auf Java Basics - Anfänger-Themen 9
J repaint() funktioniert nicht wie gewünscht Java Basics - Anfänger-Themen 30
I Hangman CardLayout/repaint? Java Basics - Anfänger-Themen 2
H Variablen Probleme mit repaint() Java Basics - Anfänger-Themen 2
Y im applet malen ohne repaint paint ? Java Basics - Anfänger-Themen 6
J repaint(); launisch ? Java Basics - Anfänger-Themen 3
E Altes Bild bei repaint() löschen? Java Basics - Anfänger-Themen 10
Z Wie repaint() bei Uhr realisieren? Java Basics - Anfänger-Themen 12
N JScrollPane repaint(); geht nicht Java Basics - Anfänger-Themen 4
I repaint bei jpanel Java Basics - Anfänger-Themen 10
T repaint wir nicht mehr geöffnet! Java Basics - Anfänger-Themen 38
T Canvas aktualisierung mit repaint Java Basics - Anfänger-Themen 5
C GUI aktualisieren: repaint, validate, Fenstergröße ändern bringt nichts Java Basics - Anfänger-Themen 13
Antoras Swing repaint und Nullpointer Java Basics - Anfänger-Themen 6
O repaint() wird nicht ausgeführt Java Basics - Anfänger-Themen 3
S problem mit repaint() in Thread Java Basics - Anfänger-Themen 6
Antoras swing und repaint-Ersatz Java Basics - Anfänger-Themen 8
G Automatischer repaint bei Swing so wie bei AWT? Java Basics - Anfänger-Themen 7
M Problem mit repaint Java Basics - Anfänger-Themen 2
R Probleme beim Repaint Java Basics - Anfänger-Themen 3
T repaint einer komponente Java Basics - Anfänger-Themen 2
E repaint() aufrufen Java Basics - Anfänger-Themen 12
F paintComponent mit repaint() aufrufen Java Basics - Anfänger-Themen 27
kulturfenster Probleme mit repaint() Java Basics - Anfänger-Themen 2
S SelectionListener + repaint().Verständnisproblem ;) Java Basics - Anfänger-Themen 7
K Repaint() in Methode Java Basics - Anfänger-Themen 13
G Frage zu repaint() Java Basics - Anfänger-Themen 5
D JPanel repaint() wird nicht gemacht! Java Basics - Anfänger-Themen 7
B Problem mit repaint() Java Basics - Anfänger-Themen 8
V Reihenfolge von Befehlen - hier repaint() zu spät Java Basics - Anfänger-Themen 13
G repaint in paint aufrufen? Java Basics - Anfänger-Themen 9
F repaint() - Methode verzögern lassen? Java Basics - Anfänger-Themen 3
I Erst repaint() dann zeichnen? Java Basics - Anfänger-Themen 6
D von paint() und repaint() im Applet Java Basics - Anfänger-Themen 4
J probleme mit repaint Java Basics - Anfänger-Themen 2
Juelin jedit Fehler beim starten Java Basics - Anfänger-Themen 2
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
A Hilfe beim Lesen von Pfaden und Systemvariablen Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben