32

有没有办法像使用 JTextField 一样为 JTextArea 创建水平居中的文本?

setHorizontalAlignment(JTextField.CENTER);

有没有办法用多行文本区域完成同样的事情?我找不到使用 JTextArea 的方法,那么还有其他选择吗?文本窗格?如果是这样,怎么做?

4

1 回答 1

67

您需要使用 JTextPane 并使用属性。以下应使所有文本居中:

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

编辑:

据我所知,不支持垂直居中。以下是一些您可能会觉得有用的代码:JTextPane 的垂直对齐

于 2010-07-09T14:06:15.213 回答