Skip to content

Instantly share code, notes, and snippets.

@james-d
Last active November 11, 2015 03:00
Show Gist options
  • Save james-d/484b36deb59dd110d302 to your computer and use it in GitHub Desktop.
Save james-d/484b36deb59dd110d302 to your computer and use it in GitHub Desktop.
import java.util.stream.Stream;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.scene.text.TextFlow;
import javafx.stage.Stage;
public class TextFlowWrapTest extends Application {
private final String text =
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. "
+ "Nunc vel nunc tellus. Etiam luctus nunc elit, sed maximus eros euismod et. "
+ "Nulla augue ante, vulputate eu erat quis, consectetur sodales enim. "
+ "Aenean sit amet sollicitudin lacus. "
+ "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. "
+ "Nunc sollicitudin commodo justo, vitae egestas nulla aliquam at. "
+ "Curabitur non turpis est. Duis ut nisi ac eros scelerisque porttitor nec eget tellus. "
+ "Suspendisse et finibus lacus. "
+ "Nunc lacus ligula, tincidunt vel porta vel, tempus bibendum dui. "
+ "Quisque aliquam ornare mi, et porta odio feugiat et. Nulla rhoncus cursus vestibulum. \n\n"
+ "Praesent nec ultricies neque, quis consequat diam. "
+ "Duis facilisis sem ac diam dictum, a vestibulum libero pretium. "
+ "Fusce sed tortor facilisis, sagittis mi ac, vehicula enim. "
+ "Duis orci odio, pretium sit amet suscipit vitae, condimentum cursus dolor. "
+ "Curabitur sit amet dictum dolor. Proin vel viverra dui. "
+ "Mauris consequat turpis non nisi pretium, et elementum velit mollis. "
+ "Sed ultricies fringilla purus at bibendum. Sed et dui vehicula neque condimentum finibus. "
+ "Donec volutpat sapien vel nibh tempus, non imperdiet tellus faucibus.\n\n"
+ "Sed sed diam interdum, venenatis nibh eget, luctus velit. "
+ "Etiam velit nisl, posuere cursus lobortis in, lacinia sed arcu. "
+ "Morbi id nibh enim. Phasellus felis turpis, condimentum eget convallis nec, iaculis eget nulla. "
+ "Nam consequat risus vitae mauris mollis, eu egestas nisi bibendum. "
+ "Mauris erat arcu, molestie et tempus ut, interdum nec dui. "
+ "Maecenas blandit ac turpis a molestie. Duis eu iaculis mi, ac ultrices massa. "
+ "Duis eleifend augue eget nunc commodo, in sagittis turpis condimentum. "
+ "Etiam sagittis consectetur enim scelerisque ultrices. "
+ "Sed eget lacus sit amet eros congue dignissim. "
+ "Nunc ipsum lorem, scelerisque sit amet finibus et, accumsan et nisl. "
+ "Praesent iaculis quam urna, at eleifend sem vestibulum ut. "
+ "Proin porttitor malesuada convallis.";
@Override
public void start(Stage primaryStage) {
TextFlow textPerWordFlow = new TextFlow();
// add each word as a different Text object:
Stream.of(text.split("\\b")).map(Text::new).forEach(textPerWordFlow.getChildren()::add);
TextFlow singleTextFlow = new TextFlow();
// add the whole text as a single Text object:
singleTextFlow.getChildren().add(new Text(text));
Label textPerWordHeader = new Label("One text per word");
textPerWordHeader.setStyle("-fx-font: 14pt verdana;");
Label singleTextHeader = new Label("Single text");
singleTextHeader.setStyle("-fx-font: 14pt verdana;");
primaryStage.setScene(new Scene(new VBox(10, textPerWordHeader, textPerWordFlow, singleTextHeader, singleTextFlow), 800, 800));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment