在JavaFx中Text类定义了一个node,这个node能显示字符串,如下图所示。
其中点(x,y)是字符串的起点。Text对象通常放在一个pane对象里。Pane对象的左上角坐标是(0,0),右下角的坐标是(pane.getWidth(),pane.getHeight())。多行字符串用\n分割开来。
Text类的UML图如下图所示。一个shape就是一个node,Shape类是其他所有图形类的根类。
程序实例清单如下:
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 } }
运行结果如下: