Java FX TextArea 对齐

Posted

技术标签:

【中文标题】Java FX TextArea 对齐【英文标题】:Java FX TextArea Alignment 【发布时间】:2013-12-21 07:56:12 【问题描述】:

我想在 Java FX 文本区域内显示文本。

我的代码是:

TextArea txt = new TextArea();
txt.setEditable(false);
txt.setStyle("-fx-font-alignment: center");
txt.setText(text);

但我无法设置文本对齐方式(在 TextArea 内)

我试过了:

txt.setStyle("-fx-font-alignment: center");

但是没用

【问题讨论】:

【参考方案1】:

将样式应用于文本子项:

.text-area *.text 
    -fx-text-alignment: center;

【讨论】:

奇怪的是,当我在 Scene Builder 17.0.0 中将此作为外部 css 加载并将 .text-area 类应用于 TextArea 时,Scene Builder 无法识别 css 检查器中的某些 css 已更改。跨度> 【参考方案2】:

我找到了一个仅使用 CSS 将 textarea 的内容水平居中的解决方案。

我在 css 中使用了一个类:

.centeredTextArea .scroll-pane .content .text 
    -fx-text-alignment: center;

在我添加之后

styleClass="centeredTextArea"

到我的 textArea 控件。

【讨论】:

【参考方案3】:

您可以使用 Scene Builder 来制作 UI,这非常简单。 在那里您可以轻松地使用“Java fx 文本区域”和一切。 您所要做的就是导入 jfoenix 库就可以了,而且无需编码。

【讨论】:

虽然这个工具对开发者很有用,但它并不构成对他们问题的真正答案,下次请把这种讨论作为评论留下。【参考方案4】:

试试 setStyle(-fx-padding: 0 10 0 10)。

所以在这种情况下,0 - 顶部 10 - 对 0 - 底部 10 - 左填充。

您可以将 10 替换为所需的值。它只是将您的文本放入文本框中,填充/空格为 10。有类似的问题。这对我有用。

【讨论】:

【参考方案5】:

我不知道你为什么要使用 textArea,但如果你只是想显示一些文本,你应该使用 TextField。

否则显示文本使用:

Text text = new Text("text");

但我不知道你到底想做什么。

【讨论】:

以上是关于Java FX TextArea 对齐的主要内容,如果未能解决你的问题,请参考以下文章

使用 css 在 TextArea 内设置文本对齐不起作用

java中TextArea/JTextArea的对齐方式怎么设置的?

vue使用textare如何正确统计输入字符个数

textarea输入文字限制个数

对于textarea标签的使用

JSP页面内textarea的占位符