文本对齐右对齐但两端对齐

3
我们希望在InlineCssTextArea(来自RichTextFX)中,使文本对齐方式拉伸行,并从右侧使宽度相等。
我已经使用了:
-fx-text-alignment:justify;

结果

所需

还需要什么才能使它工作?


3
我不熟悉RichTextFX,但如果它像Text类一样,您可以通过设置对齐方式为“对齐”并将节点方向设置为从右到左来实现。 - JKostikiadis
我没有在问题中添加RichTextFX,因为我知道节点的代码在RichTextFX中运行良好, 所以我更喜欢将问题描述得更加通用, 谢谢,它可以正常工作。 - Saif Al Basrawi
2个回答

2

这里是一个可运行的示例,展示了您想要的结果输出。我通过将节点方向设置为从右到左来实现了这一点。

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所说,但问题在于它会破坏所选内容。您尝试过在更改节点方向后选择文本吗? - Saif Al Basrawi

0
你想要类似这样的东西吗?

.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>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接