preferredLayoutSize aufruf erzwingen

Status
Nicht offen für weitere Antworten.

Auron

Mitglied
Hi an alle,
ich habe festgestellt, das die JScrollPane bzw. ihr LaoutManager nicht die Methode preferredLayoutSize(Container target) aufruft wenn sich die PreferredSize des Components in ihr verringert. Daher würde ich gerne wissen wie ich diesen Aufruf erzwingen kann, sodass die Größe der JScrollPane sich mit der Komponente verringert.
Bei vergrößerung der Komponente wird sie auf jeden Fall aufgerufen.

Danke schonmal für die Hilfe
Auron
 
Die Methoden "invalidate" und "validate" sind sonst auch immer gute Kandidaten wenn etwas mit dem Layout nicht klappt. Die erstes informiert den Componenten-Baum das etwas komisch ist, die zweite sagt einer Componente sie soll mal ihr Layout prüfen.
 
Viel spannender als die Frage, wie man diesen Aufruf erzwingen kann, finde ich persönlich die Frage, WARUM du überhaupt den Aufruf von preferredLayoutSize(Container target) erzwingen willst. Sollte dir nicht egal sein, ob die aufgerufen wird?
 
Ich habe einen eigenen LayoutManager geschrieben und das auf ein JPanel gepackt was in einer JScrollPane liegt, leider wird bei einer verkleinerung des Panels nicht preferredLayoutSize in der JScrollPane aufgerufen.
Ich habs ja ausprobiert mit einer Ausgabe in der Methode und wenn ich das Panel ohne JScrollPane benutze verringert es seine größe wie es sollte, wenn eine Komponente entfernt wird.
Also nehme ich an das diese Method nur dann in der JScrollPane aufgerufen wird wenn die Komponente innen größer wird als reinpasst.

Ich werds mal mit der validate Methode versuchen.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben