
- JavaFX Tutorial
- JavaFX - Home
- JavaFX - Overview
- JavaFX - Environment
- JavaFX - Architecture
- JavaFX - Application
- JavaFX - 2D Shapes
- JavaFX - Text
- JavaFX - Effects
- JavaFX - Transformations
- JavaFX - Animations
- JavaFX - Colors
- JavaFX - Images
- JavaFX - 3D Shapes
- JavaFX - Event Handling
- JavaFX - UI Controls
- JavaFX - Charts
- JavaFX - Layout Panes
- JavaFX - CSS
- JavaFX Useful Resources
- JavaFX - Quick Guide
- JavaFX - Useful Resources
- JavaFX - Discussion
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
JavaFX - Layout Panes Textflow
If we use this layout, you can set multiple text nodes in a single flow. The class named textFlow of the package javafx.scene.layout represents the text flow.
This class provides two properties, which are −
lineSpacing − This property is of double type and it is used to define the space between the text objects. You can set this property using the method named setLineSpacing().
textAlignment − This property represents the alignment of the text objects in the pane. You can set value to this property using the method setTextAlignment(). To this method you can pass four values: CENTER, JUSTIFY, LEFT, RIGHT.
Example
The following program is an example of the text flow layout. In this, we are creating three text objects with font 15 and with various colors. We are then adding them to a Text flow pane with an alignment value – Justify, while the line spacing is 15.
Save this code in a file with the name TextFlowExample.java.
import javafx.application.Application; import javafx.collections.ObservableList; import javafx.scene.Scene; import javafx.scene.paint.Color; import javafx.scene.text.Font; import javafx.scene.text.Text; import javafx.scene.text.TextAlignment; import javafx.scene.text.TextFlow; import javafx.stage.Stage; public class TextFlowExample extends Application { @Override public void start(Stage stage) { //Creating text objects Text text1 = new Text("Welcome to Tutorialspoint "); //Setting font to the text text1.setFont(new Font(15)); //Setting color to the text text1.setFill(Color.DARKSLATEBLUE); Text text2 = new Text("We provide free tutorials for readers in various technologies "); //Setting font to the text text2.setFont(new Font(15)); //Setting color to the text text2.setFill(Color.DARKGOLDENROD); Text text3 = new Text("\n Recently we started free video tutorials too "); //Setting font to the text text3.setFont(new Font(15)); //Setting color to the text text3.setFill(Color.DARKGRAY); Text text4 = new Text("We believe in easy learning"); //Setting font to the text text4.setFont(new Font(15)); text4.setFill(Color.MEDIUMVIOLETRED); //Creating the text flow plane TextFlow textFlowPane = new TextFlow(); //Setting the line spacing between the text objects textFlowPane.setTextAlignment(TextAlignment.JUSTIFY); //Setting the width textFlowPane.setPrefSize(600, 300); //Setting the line spacing textFlowPane.setLineSpacing(5.0); //Retrieving the observable list of the TextFlow Pane ObservableList list = textFlowPane.getChildren(); //Adding cylinder to the pane list.addAll(text1, text2, text3, text4); //Creating a scene object Scene scene = new Scene(textFlowPane); //Setting title to the Stage stage.setTitle("text Flow Pane Example"); //Adding scene to the stage stage.setScene(scene); //Displaying the contents of the stage stage.show(); } public static void main(String args[]){ launch(args); } }
Compile and execute the saved java file from the command prompt using the following commands.
javac TextFlowExample.java java TextflowExample
On executing, the above program generates a JavaFX window as shown below.
