# How to wrap the text in text flow layout in JavaFX?

JavaFXObject Oriented ProgrammingProgramming

To create rich text contents in our applications JavaFX provides a special layout called text flow represented by the javafx.scene.layout.TextFlow class. Using this you can layout multiple text nodes in a single text flow.

Since they are separate nodes, you can set different fonts to them. If you try to add nodes other than text to this layout, they will be treated as embedded objects and are simply inserted between the text.

## Wrapping the text

Unlike Label and the Text nodes, TextFLow doesn’t provide any method to wrap the text. But it does have a property named prefWidth specifying the desired width of the TextFlow layout. You can set values to this property using the setPrefWidth() method.

In short, you can wrap the text at a desired width or height using the setPrefWidth() or, setPrefHeight() methods.

## Example

import java.io.FileNotFoundException;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.scene.text.TextFlow;
public class TextFlow_Wrap extends Application {
public void start(Stage stage) throws FileNotFoundException {
//Creating a text object
Text text1 = new Text("Welcome To Tutorialspoint");
Font font1 = Font.font("Brush Script MT", FontWeight.BOLD, 50);
text1.setFont(font1);
//Setting the color of the text
text1.setFill(Color.BLUEVIOLET);
text1.setStrokeWidth(1);
text1.setStroke(Color.CORAL);
Text text2 = new Text(" We provide free tutorials for readers in various technologies ");
text2.setFont(new Font("Algerian", 30));
text2.setFill(Color.ORANGERED);
Text text3 = new Text("We believe in easy learning");
//Setting font to the text
Font font2 = Font.font("Ink Free", FontWeight.BOLD, 35);
text3.setFont(font2);
text3.setFill(Color.DIMGRAY);
//Creating the text flow
TextFlow textFlow = new TextFlow();
//Wrapping the content of the text flow
textFlow.setPrefWidth(595);
//Setting padding to the text flow
//Setting the stage
Group root = new Group(textFlow);
Scene scene = new Scene(root, 595, 250, Color.BEIGE);
stage.setTitle("Text Flow");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}

## Output

Published on 19-May-2020 16:59:20