【问题标题】:Java FX TextArea AlignmentJava FX TextArea 对齐
【发布时间】: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");

但是没用

【问题讨论】:

    标签: java textarea javafx javafx-2


    【解决方案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");
        

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-09-13
          • 2016-04-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多