2016-06-22 7 views
-1

Работа с очень сложным JFrame с многочисленными панелями внутри панелей внутри панелей .... вы получаете изображение. Если бы это было просто, я бы опубликовал пример.Правило большого пальца при работе с многочисленными панелями и JScrollPane и setPreferredSize()

Основная панель имеет 4 панели, и каждая из этих панелей имеет 6 или около того других панелей, и у них могут быть даже несколько панелей. Основная панель помещается в JScrollPane.

JFrame открывается, и как только окно становится меньше, появляются полосы прокрутки, которые отлично смотрятся, но изначально открывается окно примерно 3/4 того, что должно быть. Это означает, что окно нужно вручную увеличить, чтобы увидеть все это, поскольку полосы прокрутки появляются только в том случае, если они сделаны меньше.

При работе с таким количеством слоев панелей, что является правилом большого пальца при работе в этом сценарии. Должен ли setPreferredSize() выполняться на каждой панели или только в родительской панели или только на уровне JScrollPane или в смеси?

ответ

-1

Я нашел в этом конкретном сценарии, что с помощью setPreferredSize() в верхней части панели большинства разрешена эта конкретная проблема. Существуют методы setPreferredSize(), вызываемые на других панелях, и они были удалены, чтобы использовать только вызов на верхней панели, и это, казалось, было ключом.

+1

Как правило, метод setPreferredSize должен выполняться на ** все ** младших уровней JPanels **, которые не содержат JComponents **. Если вы пропустите один, то установка предпочтительного размера на основном JPanel замаскирует истинную проблему. –

 Смежные вопросы

  • Нет связанных вопросов^_^