Вопрос

В приложении Java Swing, которое я сделал, мне кажется, что все компоненты слишком плотно упакованы.

В QT можно указать отступы и поля для макета.

Есть ли что-то подобное для свинга?

альтернативный текст http://img12.yfrog.com/img12/9612/screenshotscreenerconfi.png

Вот снимок экрана моего приложения, которое мне кажется слишком тесным (не так ли?Что вы думаете?.

Спасибо.

Это было полезно?

Решение

Взгляните на GridBagLayoutManager.Это самый сложный менеджер компоновки, но с ним можно сделать все.

Он использует GridBagConstraintObject который имеет свойство inset, он определяет разделение на верхний, нижний, левый и правый компоненты.

пример:GridBagConstraintObject.insets.left=20

Другие советы

Вы могли бы использовать МиГлайаут в качестве вашего менеджера по расположению.Он допускает все виды настроек, включая поля/отступы.

Вы могли бы добиться гораздо лучшего макета для приведенного выше примера, используя ДизайнСеткаМакет всего за пару строк кода (по одной на строку вашего макета).DesignGridLayout автоматически будет использовать правильный интервал для платформы среды выполнения.

кроме того, я настоятельно рекомендую вам НЕ использовать TitledBorders в вашей форме, потому что это не позволяет ЛЮБОМу LayoutManager (каким бы продвинутым он ни был) автоматически правильно выравнивать различные компоненты в разных группах.Вместо этого вы можете использовать JLabel с JSeparator (есть примеры в DesignGridLayout, но это работает с любым другим LayoutManager).

С качаем Java 1.6 появилась новая Групповой макет менеджер, которые облегчают этот вид работы.

Например, есть метод: setAutoCreateGaps() что:

...вы добавляете два компонента в SequentialGroup, автоматически создается разрыв между двумя компонентами...

Например:

alt text

Что Менеджер макетов ты используешь?Добавить поля довольно просто, однако это зависит от конкретного используемого LayoutManager.

ФормаМайаут еще один хороший менеджер компоновки.С хорошим редактором графического интерфейса, например JFormDesigner это делает создание графического интерфейса достаточно простым.JFormDesigner в большинстве случаев автоматически добавляет достаточное дополнение.Я не рекомендую использовать GridBagLayout.Он хорошо справляется со своей задачей, но очень сложен, что затрудняет его использование и обслуживание.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top