首页 > 代码库 > 冯斌:JavaFx实例(九)“Text”

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

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


 wKioL1Rc5wTxJ5h0AAC34yExHro146.jpg

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

   

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

wKiom1Rc5rXhmiooAAEN78qYjT4232.jpg

程序实例清单如下:

 

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

  }

}

 

 

运行结果如下:

wKioL1Rc5xvCAVZqAABcJ3qIMvQ145.jpg


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