2013-03-23 2 views
5

У меня есть JTextField с довольно большими границами, однако текст не ведет себя так, как я хочу.Как выровнять текст внутри JTextField?

_________________ 
|     | 
|     | 
|text    | 
|     | 
|_________________| 

как бы я сделать это так, мой текст выравнивается, как этот

_________________ 
|text    | 
|     | 
|     | 
|     | 
|_________________| 

Edit: Использование JTextArea фиксированная моя проблема. Спасибо.

+0

Почему у вас есть такое текстовое поле первое место? Почему бы не позволить ей занимать предпочтительную высоту и иметь красивый интерфейс? –

+0

Как это сделать? В настоящее время у меня есть 'setBounds (10,10,200,400)' Я должен изменить это на 'setLocation (10,10)' и 'setPreferredSize (200,400)'? –

+0

Вы никогда не должны называть 'setBounds()' и 'setLocation()'. Это работа менеджера макета. Вы не должны вызывать setPreferredSize(). JTextField знает свой предпочтительный размер в зависимости от количества столбцов, которые вы указали при его создании. Используйте менеджеров компоновки: http://docs.oracle.com/javase/tutorial/uiswing/layout/using.html –

ответ

10

JTextArea соответствует верхней части.

Или используйте JLabel:

JLabel myLabel = new JLabel("my text"); 

и призыв:

myLabel.setHorizontalAlignment(SwingConstants.LEFT); 
myLabel.setVerticalAlignment(SwingConstants.TOP); 

менеджеров компоновки это еще один способ сделать это: http://docs.oracle.com/javase/tutorial/uiswing/layout/using.html

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