Центрирование текста в JTextArea или JTextPane - горизонтальное выравнивание текста - PullRequest
29 голосов
/ 09 июля 2010

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

setHorizontalAlignment(JTextField.CENTER);

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

1 Ответ

59 голосов
/ 09 июля 2010

Вам нужно использовать JTextPane и использовать атрибуты.Следующее должно центрировать весь текст:

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

Edit:

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

...