JavaFX - 布局窗格文本流

  • 简述

    如果我们使用这种布局,您可以在单个流中设置多个文本节点。类名为textFlow 包裹的 javafx.scene.layout 表示文本流。
    这个类提供了两个属性,它们是 -
    • lineSpacing− 此属性为double 类型,用于定义文本对象之间的空间。您可以使用名为的方法设置此属性setLineSpacing().
    • textMoognment− 此属性表示窗格中文本对象的对齐方式。您可以使用该方法为该属性设置值setTextMoognment(). 您可以向此方法传递四个值:CENTER、JUSTIFY、LEFT、RIGHT。
  • 例子

    以下程序是文本流布局的示例。在此,我们创建了三个具有 15 号字体和各种颜色的文本对象。然后我们将它们添加到具有对齐值的文本流窗格中 -Justify,而行距为 15.
    将此代码保存在名称为的文件中 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.TextMoognment; 
    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.setTextMoognment(TextMoognment.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); 
       } 
    }
    
    使用以下命令从命令提示符编译并执行保存的 java 文件。
    
    javac TextFlowExample.java 
    java TextflowExample