repaint () in Java [duplizieren]

8

Ich schreibe einen Java-Code, aber ich habe ein Problem mit dem GUI-Problem. Wenn ich eine Komponente zum JFrame-Objekt hinzufüge, rufe ich die repaint () -Methode auf, um die GUI zu aktualisieren, aber es funktioniert nicht. Aber wenn ich diesen Rahmen verkleinere oder seine Größe verändere, wird die GUI aktualisiert.

Hier ist mein Code:

%Vor%     
Community 13.01.2012, 15:59
quelle

4 Antworten

15

Wenn Sie JComponent zum bereits sichtbaren Container hinzugefügt haben, rufen Sie

auf %Vor%

zum Beispiel

%Vor%     
mKorbel 13.01.2012, 16:04
quelle
4

Schreiben Sie einfach:

%Vor%

Das wird reichen.

Grüße

    
nIcE cOw 13.01.2012 16:17
quelle
2

Sie machen Dinge in der falschen Reihenfolge.

Sie müssen zuerst alle JComponents zum JFrame hinzufügen und dann erst pack() und dann setVisible(true) auf dem JFrame

aufrufen

Wenn Sie später JComponents hinzugefügt haben, die die Größe der GUI ändern könnten, müssen Sie danach pack() und dann repaint() auf dem JFrame aufrufen.

    
Hovercraft Full Of Eels 13.01.2012 16:11
quelle
1

Sie müssen möglicherweise auch frame.repaint() aufrufen, um zu erzwingen, dass sich der Frame tatsächlich neu zeichnet. Ich hatte Probleme zuvor, wo ich versuchte, eine Komponente neu zu streichen und es wurde nicht aktualisiert, was angezeigt wurde, bis die repaint () -Methode der Eltern aufgerufen wurde.

    
aoi222 13.01.2012 16:03
quelle