JavaFX | TextFlow类

TextFlow类是JavaFX的一部分。TextFlow类设计用于布局富文本。它可以用于在单个文本流中布局多个文本节点。TextFlow类扩展了 窗玻璃

null

类的构造函数:

  1. TextFlow() :创建一个新的textflow对象。
  2. 文本流(节点…c) :创建具有指定节点的新textflow对象。

常用方法:

方法 解释
getLineSpacing() 返回文本流的行距
getTextAlignment() 返回文本流的文本对齐方式
设置行间距(双s) 设置文本流的行距。
setTextAlignment(文本对齐v) 设置文本流的文本对齐方式。

下面的程序演示了TextFlow类的使用:

  1. 创建文本流并向其中添加文本对象的Java程序: 在这个程序中,我们将创建一个名为 文本流 还有两个文本名为 文本1 文本2 .使用 setFill() setFont() .我们将把文本添加到 文本流 使用 getChildren()。添加() 作用添加 文本流 一幕接一幕地登上舞台。打电话给 show() 函数来显示最终结果。

    // Java program to create a TextFlow and
    // add text object to it .
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.event.ActionEvent;
    import javafx.scene.paint.*;
    import javafx.scene.text.*;
    import javafx.scene.web.*;
    import javafx.scene.layout.*;
    import javafx.scene.shape.*;
    public class TextFlow_0 extends Application {
    // launch the application
    public void start(Stage stage)
    {
    try {
    // set title for the stage
    stage.setTitle( "TextFlow" );
    // create TextFlow
    TextFlow text_flow = new TextFlow();
    // create text
    Text text_1 = new Text( "GeeksforGeeks" );
    // set the text color
    text_1.setFill(Color.RED);
    // set font of the text
    text_1.setFont(Font.font( "Verdana" , 25 ));
    // create text
    Text text_2 = new Text( "The computer science portal for geeks" );
    // set the text color
    text_2.setFill(Color.BLUE);
    // set font of the text
    text_2.setFont(Font.font( "Helvetica" , FontPosture.ITALIC, 15 ));
    // add text to textflow
    text_flow.getChildren().add(text_1);
    text_flow.getChildren().add(text_2);
    // create a scene
    Scene scene = new Scene(text_flow, 400 , 300 );
    // set the scene
    stage.setScene(scene);
    stage.show();
    }
    catch (Exception e) {
    System.out.println(e.getMessage());
    }
    }
    // Main Method
    public static void main(String args[])
    {
    // launch the application
    launch(args);
    }
    }

    
    

    输出:

    图片[1]-JavaFX | TextFlow类-yiteyi-C++库

  2. Java程序创建文本流并向其添加文本对象,设置文本对齐方式并设置文本流的行距: 在这个程序中,我们将创建一个名为 文本流 还有两个文本名为 文本1 文本2 .使用 setFill() setFont() .使用 setTextAlignment() 并使用 setLineSpacing() 作用将文本添加到 文本流 使用 getChildren()。添加() 作用添加 文本流 到Vbox。将vbox场景和场景添加到舞台。打电话给 show() 函数来显示最终结果。

    // Java program to create a TextFlow and
    // add text object to it, set text Alignment
    // and set line spacing of the text flow.
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.scene.layout.*;
    import javafx.scene.paint.*;
    import javafx.scene.text.*;
    import javafx.geometry.*;
    import javafx.scene.layout.*;
    import javafx.scene.shape.*;
    public class TextFlow_1 extends Application {
    // launch the application
    public void start(Stage stage)
    {
    try {
    // set title for the stage
    stage.setTitle( "FlowPane" );
    // create TextFlow
    TextFlow text_flow = new TextFlow();
    // create text
    Text text_1 = new Text( "GeeksforGeeks" );
    // set the text color
    text_1.setFill(Color.GREEN);
    // set font of the text
    text_1.setFont(Font.font( "Verdana" , 25 ));
    // create text
    Text text_2 = new Text( "The computer science portal for geeks" );
    // set the text color
    text_2.setFill(Color.BLUE);
    // set font of the text
    text_2.setFont(Font.font( "Helvetica" , FontPosture.ITALIC, 15 ));
    // add text to textflow
    text_flow.getChildren().add(text_1);
    text_flow.getChildren().add(text_2);
    // set text Alignment
    text_flow.setTextAlignment(TextAlignment.CENTER);
    // set line spacing
    text_flow.setLineSpacing( 20 .0f);
    // create VBox
    VBox vbox = new VBox(text_flow);
    // set alignment of vbox
    vbox.setAlignment(Pos.CENTER);
    // create a scene
    Scene scene = new Scene(vbox, 400 , 300 );
    // set the scene
    stage.setScene(scene);
    stage.show();
    }
    catch (Exception e) {
    System.out.println(e.getMessage());
    }
    }
    // Main Method
    public static void main(String args[])
    {
    // launch the application
    launch(args);
    }
    }

    
    

    输出:

    图片[2]-JavaFX | TextFlow类-yiteyi-C++库

注: 以上程序可能无法在联机IDE中运行,请使用脱机编译器。

参考: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/text/TextFlow.html

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享