2016-04-10 4 views
1

У меня есть ярлык с иконкой, и я пытался установить вертикальное выравнивание внизу, но он не работает. Это проблема?Ярлык Вертикальное выравнивание не работает

Form hi = new Form("Label"); 
hi.add(new Button("Upper Border")); 
Label bottomLabel = new Label("Label Text Bottom"); 
bottomLabel.setIcon(theme.getImage("Orange Line.png")); 
bottomLabel.setVerticalAlignment(Component.BOTTOM); 
hi.add(bottomLabel); 
hi.add(new Button("Bottom Border")); 
hi.show(); 

enter image description here

EDITED

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

enter image description here

ответ

1

вы можете использовать BorderLayout, чтобы установить метку в нижней части формы, которая показана на ниже кодов. Я изменил макет формы и установил ярлык внизу

Form hi = new Form("Label"); 
    **hi.setLayout(new BorderLayout());** 
    hi.add(BorderLayout.NORTH,new Button("Upper Border")); 
    Label bottomLabel = new Label("Label Text Bottom"); 
    bottomLabel.setIcon(theme.getImage("Orange Line.png")); 
    bottomLabel.setVerticalAlignment(Component.BOTTOM); 
    **hi.add(BorderLayout.SOUTH,bottomLabel);** 
    //hi.add(new Button("Bottom Border")); 
    hi.show(); 
+0

Но как насчет кода? Это правильно, не так ли? Так, почему это не работает? – Felipe

+0

Код не может установить компонент как на верхней, так и на нижней границе. Чтобы установить верхнюю и нижнюю границу, вам необходимо установить borderlayout. – tizbn

+0

@Felipe выравнивание ярлыков - это действительно выравнивание текста против значка, не совсем внутри метки, поэтому ваш код не должен работать так. Ответ tizbn действительно правильный –

Смежные вопросы