Ответ: если у вашего компонента нет родителя, используйте setSize() который изменяет размер компонента, в противном случае используйте setPreferredSize() и оба метода setMinimumSize() и setMaximumSize(). setPreferredSize() выбирает идеальный размер для компонента, layoutmanager попытается организовать правильное пространство для вашего компонента.
setSize() ничего не делает, если родительский компонент использует диспетчер макетов, место, где setSize() оказывает эффект в компонентах верхнего уровня, таких как JFrame и JWindow. Звонить нужно: setSize() Если у вас есть компоненты внутри родителя без менеджера макетов.
So, setPreferredSize() Вы должны поступить правильно, если у вас есть менеджер макетов, потому что большинство из них работают в восстановление оптимального, минимального и максимального размера их компонентов. Использование setSize() и setLocation, чтобы расположить эти компоненты в соответствии с параметрами выбранного макета.
Example:
BorderLayout попытается установить границы северного региона равными размеру, указанному в setPreferredSize() своего северного региона. В конечном итоге он может быть больше, в зависимости от размера JFrame и размера размер других компонентов в соответствии с layout.
В заключение:
- setPreferredSize() вычисляет оптимальное расположение и размер компонента, если у вас есть layout.
- Если у вас нет макета, то setSize() Используется .
Commentaires (0)
Laisser un commentaire
Connectez-vous pour commenter
Rejoignez la discussion et partagez vos connaissances avec la communauté
Chargement des commentaires...