Выравнивание всех компонентов панели Java - PullRequest
1 голос
/ 02 мая 2010

Я использую менеджер компоновки BoxLayout в Java и выровнял несколько компонентов:

myLabel.setAlignmentX(Component.LEFT_ALIGNMENT);
myTextBox.setAlignmentX(Component.LEFT_ALIGNMENT);
myButton.setAlignmentX(Component.LEFT_ALIGNMENT);
...

У меня много компонентов, и это кажется чрезмерным. Есть ли сокращенный способ?

Я попробовал следующее, но setAlignmentX - это не метод внутри Component?

for (Component c : personPanel.getComponents()) {
    c.setAlignmentX(Component.LEFT_ALIGNMENT);
}

1 Ответ

3 голосов
/ 02 мая 2010

setAlignmentX определяется в JComponent.

Вы можете разыграть после проверки:

for (Component c : personPanel.getComponents()) {
    if(c instanceof JComponent) {
        ((JComponent)c).setAlignmentX(Component.LEFT_ALIGNMENT);
    }
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...