2010-11-10 5 views
0

Как динамически изменять размер JPanel в зависимости от его содержимого, которое является динамически изменяющимся всплывающим окном с различными возможностями размера.Динамически изменяемый размер JPanel

+0

Вы пробовали вызывать 'relayout' или' repaint' после того, как произошло изменение? –

ответ

0

Позвоните по номеру revalidate на JPanel после изменения размера. Это заставит диспетчер компоновки работать снова.

0

В простейшем сценарии вы должны установить новый предпочтительный размер, сделать недействительным, снова проверить и, наконец, запросить перерисовку (или просто вызвать SwingUtilities.updateComponentTreeUI на панели), но в последнем случае говорят о размере панели (и позиции тоже) опирается на диспетчер компоновки родительского контейнера; внешний вид также может сыграть свою роль. Альтернативный способ установить размер - это [re] установить свойство sizeVariant компонента (вид подсказки размера), а затем, как указано выше, с теми же предостережениями. Таким образом, ответ на ваш вопрос: это зависит.

Если вы - тестер, и вы не пишете этот код, я понимаю, что это вам не очень помогает. В этом случае вам нужно поговорить со своим разработчиком.

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