Ich stelle eine Swing-Anwendung zusammen, in der ich häufig den Inhalt eines JPanel ersetzen möchte. Dazu rufe ich an removeAll()
, füge meinen neuen Inhalt hinzu und rufe dann an revalidate()
.
Ich stelle jedoch fest, dass der alte Inhalt tatsächlich noch sichtbar ist (obwohl er durch den neuen Inhalt verdeckt wird). Wenn ich einen Anruf hinzuzufügen , repaint()
zusätzlich zu revalidate()
, es funktioniert wie erwartet.
Ich bin mir sicher, dass ich bei anderen Gelegenheiten erlebt habe, dass revalidate()
es ausreicht , nur anzurufen .
Meine Frage lautet also im Grunde: Soll ich beide Funktionen aufrufen müssen und wenn nicht, wann soll ich jede aufrufen?