2010-07-09 3 views
27

Есть ли способ создать горизонтально центрированный текст для JTextArea, как с JTextField?Центрирование текста в JTextArea или JTextPane - Горизонтальное выравнивание текста

setHorizontalAlignment(JTextField.CENTER); 

Есть ли способ, которым я могу выполнить одно и то же с многострочной текстовой областью? Я не могу найти метод для него с JTextArea, так есть ли другой вариант? JTextPane? Если да, то как?

ответ

55

Вам необходимо использовать JTextPane и использовать атрибуты. Далее следует сосредоточить весь текст:

StyledDocument doc = textPane.getStyledDocument(); 
SimpleAttributeSet center = new SimpleAttributeSet(); 
StyleConstants.setAlignment(center, StyleConstants.ALIGN_CENTER); 
doc.setParagraphAttributes(0, doc.getLength(), center, false); 

Edit:

Вертикальное центрирование не поддерживается, насколько я знаю. Вот какой код вы, возможно, сочтете полезным: Vertical Alignment of JTextPane

+1

Как насчет того, хочу ли я также иметь его вертикально по центру? – Awaken

+0

@Awaken, см. Вышеизложенное: – camickr

+0

yup ... это работает! : D – gumuruh

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