Last active
November 11, 2015 03:00
-
-
Save james-d/484b36deb59dd110d302 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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