在 JTextArea 或 JTextPane 中居中文本 - 水平文本对齐方式

2022-09-01 07:24:15

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

setHorizontalAlignment(JTextField.CENTER);

有没有办法用多行文本区域完成同样的事情?我无法用JTextArea找到它的方法,那么还有另一种选择吗?JTextPane?如果是这样,如何?


答案 1

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

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

编辑:

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


答案 2

推荐