Размер JDialog, поэтому правильный размер, когда невидимые компоненты становятся видимыми - PullRequest
0 голосов
/ 18 мая 2018

У меня есть JDialog, который содержит большое количество опций, и все это работало нормально, однако я изменил его так, что по умолчанию некоторые опции не видны до тех пор, пока пользователь не нажмет на Показать дополнительные button.

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

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

 this.pack();
 showAdvancedAction.actionPerformed(null);

, а затем вызвав метод, чтобы сделать расширенные параметры невидимыми.

Но все же при отображении в диалоговом окне диалоговое окно достаточно велико только для тех случаев, когда параметры не отображаются, поэтому при нажатии Показать дополнительные диалоговое окно снова добавляет полосу прокрутки.

Как решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 18 мая 2018
this.pack();
showAdvancedAction.actionPerformed(null);

Ваш заказ отменен.Вы должны упаковать рамку ПОСЛЕ того, как компоненты были видны.

showAdvancedAction.actionPerformed(null);
this.pack();
0 голосов
/ 18 мая 2018

В java swing вы можете добавлять кнопки или компоненты поверх панели.но когда вы пытаетесь изменить их размер, вам нужно использовать класс Grid Layout / GridLayout.Попробуйте использовать Grid Layouts и расположите элементы управления, указав значения координат X, Y.Это точно сработает.

...