TextFlow is special layout designed to lay out rich text. It can be used to layout several Text nodes in a single text flow. The TextFlow uses the text and the font of each Text node inside of it plus it own width and text alignment to determine the location for each child.
TextFlow class provides below constructors, to define TextFlow instance.
public TextFlow()
public TextFlow(Node... children)
Find the below working application.
TextFlowDemo.java
package com.sample.app.layout;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.Text;
import javafx.scene.text.TextAlignment;
import javafx.scene.text.TextFlow;
import javafx.stage.Stage;
public class TextFlowDemo extends Application {
public static void main(String args[]) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
Text text1 = new Text("Hello World, JavaFX is fun to learn");
text1.setFont(Font.font("Verdana", FontPosture.ITALIC, 50));
text1.setFill(Color.BLUE);
TextFlow textFlow = new TextFlow(text1);
textFlow.setTextAlignment(TextAlignment.JUSTIFY);
Scene scene = new Scene(textFlow, 1000, 400, Color.LIGHTYELLOW);
primaryStage.setTitle("TextFlow layout Demo");
primaryStage.setScene(scene);
primaryStage.show();
}
}
Output
When you shrink the window, you can observe that TextFlow break the words by whitespace.
Previous Next Home
No comments:
Post a Comment