No właśnie. Przydałaby mi się metoda JComponent.setPreferredWidth(). Problem w tym, że taka metoda nie istnieje.
Co chcę zrobić? Umieściłem panel wewnątrz JScrollPane. Chcę, żeby zawartość panelu dopasowała swój wymiar do JScrollPane w poziomie, natomiast w pionie chcę pozostawić ustalenie rozmiaru menedżerowi rozkładu panelu tak, aby w odpowiednim momencie pojawił się pionowy pasek przewijania. Niestety:
- Jeśli nie ustawię preferowanych rozmiarów panelu, nie dopasowuje on swoich wymiarów do JScrollPane'a.
- Jeśli użyję metody setPreferredSize() za każdym razem po zmianie rozmiaru komponentu JScrollPane, wtedy panel będzie mi się ściskać zarówno w poziomie, jak i w pionie, co prowadzi do tego, że narzucona wysokość panelu uniemożliwia przewijanie go w pionie - komponenty w panelu albo kurczą się, albo po prostu uciekają za dolną krawędzią.
W jaki sposób mogę ustalić wyłącznie preferowaną szerokość panelu?