2010-07-09 171 views
27

有沒有一種方法可以像使用JTextField一樣爲JTextArea創建水平居中的文本?在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); 

編輯:

垂直居中沒有,據我知道的支持。以下是一些您可能會覺得有用的代碼:Vertical Alignment of JTextPane

+1

如果我想讓它也垂直居中,那麼該怎麼辦? – Awaken 2010-07-09 17:47:57

+0

@Aaken,請參閱上面的編輯: – camickr 2010-07-09 18:12:27

+0

yup ...它的工作原理! :D – gumuruh 2012-01-20 03:15:33