Как увеличить высоту Jscrollpane после того, как она станет видимой?JAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Как увеличить высоту Jscrollpane после того, как она станет видимой?

Сообщение Гость »


У моего клиента есть библиотека классов, расширяющая компоненты Swing. Один класс расширяет Jscrollpane. Бывает случай, когда он знает, что в нем будет отображаться. (Текстовый компонент с возможностью увеличения размера, например текстовое поле)

До сих пор у него был метод init, вызываемый из конструктора, который никогда не устанавливает полосы прокрутки.

Теперь он хотел бы изменить конструктор, чтобы он принимал логическое значение true, которое в методе init будет устанавливать горизонтальную полосу прокрутки as_needed при использовании true.

Он также хочет, чтобы высота полосы прокрутки увеличилась заранее так, как предпочитаемый размер.высота + 16. (Даже если полоса прокрутки не отображается)

Он предлагает сделать это в методе init, который выполняется до того, как он становится видимым. Но когда я отлаживаю код, параметрeferredsize.height равен 0. Поэтому я не могу вычислить высоту расширителя для отправки в setPreferredSize.

Мне нужно найти способ узнать размер JScrollPane раньше, но он будет виден. Или способ увеличить размер после того, как он станет видимым.

Ребята, вы видите какое-нибудь решение этой проблемы?

Я попытался добавить прослушиватель изменений, который обнаружил, что полоса прокрутки видна, а затем увеличил ее высоту. В результате пользовательский интерфейс оказался не очень хорошим, поскольку высота переключалась, когда полоса прокрутки была видна или нет. Не совсем то, что хотел клиент.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»