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?