Saif Al Basrawi
Saif Al Basrawi

Reputation: 65

Text Alignment justify but to the right

We want to make the text-alignment stretch the lines and make the width equal but from the right side in a InlineCssTextArea (from RichTextFX).

I have used:

-fx-text-alignment:justify;

The result

Required

Also what I need to make it work?

Upvotes: 3

Views: 463

Answers (2)

Matt
Matt

Reputation: 3187

Here is a runnable example with the result output you wanted I did this by setting the node orientation to right to left

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); }
}

Upvotes: 2

Kadir Bušatlić
Kadir Bušatlić

Reputation: 226

Do you want something like this?

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

Upvotes: 0

Related Questions