【问题标题】:Text Alignment justify but to the right文本对齐对齐但向右
【发布时间】:2018-05-13 19:20:34
【问题描述】:

我们想让文本对齐拉伸线条并使宽度相等,但从 InlineCssTextArea(来自 RichTextFX)的右侧开始。

我用过:

-fx-text-alignment:justify;

The result

Required

还有什么我需要让它工作?

【问题讨论】:

  • 好吧,我不熟悉 RichTextFX,但如果它像 Text 类,您可以通过设置对齐方式来做到这一点,就像您所做的那样,还可以从 RIGHT_TO_LEFT 设置节点方向。
  • 我没有将 RichTextFX 添加到问题中,因为我知道该节点的代码在 RichTextFX 中运行良好,所以我更愿意提出一般性问题,谢谢它有效

标签: css javafx fxml text-alignment richtextfx


【解决方案1】:

这是一个可运行的示例,其中包含您想要的结果输出我通过将节点方向设置为从右到左来做到这一点

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.NodeOrientation;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import org.fxmisc.richtext.InlineCssTextArea;

public class Main extends Application {

    @Override
    public void start(Stage stage) {
        InlineCssTextArea inlineCssTextArea = new InlineCssTextArea();
        inlineCssTextArea.setMinHeight(200);
        inlineCssTextArea.setPadding(new Insets(20, 20, 20,20));
        inlineCssTextArea.setWrapText(true);
        inlineCssTextArea.appendText("Lorem ipsum dolor sit amet, veritus volumus sapientem ad pri, his delicata" +
                " splendide eu, nostrum intellegat liberavisse ei duo. Quaeque bonorum ex pri, et usu dicant oportere" +
                " qualisque. Suscipit deseruisse philosophia te mel. Pro ad assum intellegat, at vel sumo percipitur," +
                " nam principes dissentias persequeris eu. Oratio singulis gloriatur eum te," +
                " elitr soluta molestie nec an.");

        //The next line is what you need
        inlineCssTextArea.setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT);


        VBox vBox = new VBox(inlineCssTextArea);
        vBox.setAlignment(Pos.CENTER);

        Scene scene = new Scene(vBox);

        stage.setWidth(500);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) { launch(args); }
}

【讨论】:

  • 是的,正如 JKostikiadis 所说,但这里的问题是它破坏了选择。您是否尝试在更改节点方向后选择文本?
【解决方案2】:

你想要这样的东西吗?

.text-justify-right {
text-align: justify;
direction:rtl;
}
<div class="text-justify-right">text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text .</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    • 2019-11-17
    • 2012-01-27
    • 1970-01-01
    相关资源
    最近更新 更多