|
Spec-Zone .ru
спецификации, руководства, описания, API
|
GroupLayout менеджер по расположению объединился с инструментом разработчика, чтобы разметить Ваш GUI. Один такой инструмент разработчика является IDE NetBeans. Иначе, если Вы хотите кодировать вручную и не хотите использовать GroupLayout, тогда GridBagLayout рекомендуется как следующий самый гибкий и мощный менеджер по расположению. Если Вы интересуетесь использованием JavaFX, чтобы создать Ваш GUI, см. Работу С Разметками в JavaFX.
Проблема: Как я определяю точный размер компонента?
setSize или setBounds метод на этом. Иначе, Вы должны обеспечить подсказки размера и затем удостовериться, что используете менеджера по расположению, который уважает подсказки размера.getMinimumSize, getPreferredSize, и getMaximumSize методы. То, что хорошо об этом подходе, то, что каждый getXxxxSize метод может получить подсказки размера значения по умолчанию компонента, вызывая super.getXxxxSize(). Затем это может скорректировать размер, в случае необходимости, прежде, чем возвратить это. Это особенно удобно для текстовых компонентов, где Вы могли бы хотеть фиксировать width, но определить height от контента. Однако, иногда с проблемами можно встретиться GridBagLayout и текстовые поля, в чем если размер контейнера меньше чем привилегированный размер, минимальный размер, привыкают, который может заставить текстовые поля уменьшаться вполне существенно.setMinimumSize, setPreferredSize, и setMaximumSize методы.revalidate метод на этом, чтобы удостовериться, что его иерархия включения размечается снова. Затем вызовите repaint метод.FlowLayout и GridBagLayout менеджеры используют привилегированный размер компонента (последний в зависимости от ограничений, которые Вы устанавливаете), но BorderLayout и GridLayout обычно не делайте. BoxLayout менеджер обычно использует привилегированный размер компонента (хотя компоненты могут быть больше), и один из немногих менеджеров по расположению, который уважает максимальный размер компонента. Проблема: Мой компонент не появляется после того, как я добавил это к контейнеру.
revalidate и repaint после добавления компонента прежде, чем это обнаружится в Вашем контейнере.Проблема: Мой пользовательский компонент измеряется слишком маленький.
getPreferredSize и getMinimumSize методы? Если так, они возвращают правильные значения?Если Вы не видите своей проблемы в этом списке, см.