JavaFX: flujo de texto de los paneles de diseño
Si usamos este diseño, puede configurar varios nodos de texto en un solo flujo. La clase nombradatextFlow del paquete javafx.scene.layout representa el flujo de texto.
Esta clase proporciona dos propiedades, que son:
lineSpacing- Esta propiedad es de tipo doble y se utiliza para definir el espacio entre los objetos de texto. Puede establecer esta propiedad utilizando el método denominadosetLineSpacing().
textAlignment: Esta propiedad representa la alineación de los objetos de texto en el panel. Puede establecer el valor de esta propiedad utilizando el métodosetTextAlignment(). A este método puedes pasar cuatro valores: CENTRO, JUSTIFICAR, IZQUIERDA, DERECHA.
Ejemplo
El siguiente programa es un ejemplo del diseño de flujo de texto. En este, estamos creando tres objetos de texto con fuente 15 y con varios colores. Luego los estamos agregando a un panel de flujo de texto con un valor de alineación:Justify, mientras que el interlineado es 15.
Guarde este código en un archivo con el nombre 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 y ejecute el archivo java guardado desde el símbolo del sistema utilizando los siguientes comandos.
javac TextFlowExample.java
java TextflowExample
Al ejecutarse, el programa anterior genera una ventana JavaFX como se muestra a continuación.