在JavaFxText类定义了一个node这个node能显示字符串,如下图所示。


 冯斌:JavaFx实例(九)“Text”_javafx

    其中点(x,y)是字符串的起点。Text对象通常放在一个pane对象里。Pane对象的左上角坐标是(0,0),右下角的坐标是(pane.getWidth()pane.getHeight())。多行字符串用\n分割开来。

   

   Text类的UML图如下图所示。一个shape就是一个nodeShape类是其他所有图形类的根类。

冯斌:JavaFx实例(九)“Text”_javafx_02

程序实例清单如下:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.geometry.Insets;
import javafx.stage.Stage;
import javafx.scene.text.Text;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.FontPosture;
 
public class ShowText extends Application {
   @Override // Override the start method in the Application class
   public void start(Stage primaryStage) {
     // Create a pane to hold the texts
     Pane pane = new Pane();
     pane.setPadding(new Insets(5,5,5,5));
     Text text1 = new Text(20,20,"Programming is fun");
     text1.setFont(Font.font("Courier", FontWeight.BOLD, 
     FontPosture.ITALIC, 15));
     pane.getChildren().add(text1);  
 
     Text text2 = new Text(60,60,"Programming is fun\nDisplay text");
     pane.getChildren().add(text2);
 
     Text text3 = new Text(10,100,"Programming is fun\nDisplay text");
     text3.setFill(Color.RED); 
     text3.setUnderline(true);
     text3.setStrikethrough(true);
     pane.getChildren().add(text3);
     
     // Create a scene and place it in the stage
     Scene scene = new Scene(pane);
     primaryStage.setTitle("ShowText");// Set the stage title
     primaryStage.setScene(scene); // Place the scene in the stage
     primaryStage.show(); // Display the stage
  }
}

 

 

运行结果如下:

冯斌:JavaFx实例(九)“Text”_基础_03