zunächst das Problem zu beschreiben: Während eines erneuten Layouts aufgrund einer Änderung in der Breite oder Höhe, Java ScrollPaneLayout fordert die preferredSize davon Darstellungs Kinder, bevor Sie die Grenzen es ist. On Text-Components Das Aufrufen von getPreferredSpan kann das Layout ändern, da getPreferredSpan intern setSize aufruft. Der Effekt ist, dass keine Ansicht (Erweiterung von javax.swing.text.View) in dieser Situation die tatsächliche Größe der übergeordneten Komponente sicher abrufen kann. Ein getVisibleRect wird in diesem Fall fehlschlagen, da die Grenzen des Ansichtsfensters noch nicht festgelegt sind. Es ist keine Option, die Gültigkeit der Textkomponente zu überprüfen, um den Layoutprozess zu blockieren, da dies bereits in diesem Szenario möglich ist.Wie bekomme ich während eines validateTree eine korrekte rect?
Also, die Frage ist: Gibt es eine Möglichkeit, um herauszufinden, ob die Grenzen eines JComponent auf dem neuesten Stand sind?
nicht. Idee ....: P – Epaga
Entschuldigung, keine Ahnung. "swing" tag hinzugefügt ... – MartinStettner
Diese Frage ist sehr verwirrend. würdest du es für uns klären? – marionmaiden