如何在 JavaFX 中使用文本流向文本添加各种字体?
你可以使用TextFlow布局在一个流中嵌入多个文本节点。要在单个文本流中使用不同的字体。
创建多个文本节点。
向它们设置所需的字体。
将创建的所有节点添加到文本流。
示例
import java.io.FileNotFoundException; import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.paint.Color; import javafx.stage.Stage; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; import javafx.scene.text.TextFlow; public class TextFlowExample extends Application { public void start(Stage stage) throws FileNotFoundException { //Creating a text object String str1 = "Hi "; Text text1 = new Text(30.0, 110.0, str1); //Setting the font Font font1 = Font.font("Brush Script MT", FontWeight.BOLD, 75); text1.setFont(font1); //Setting the color of the text text1.setFill(Color.CORAL); text1.setStrokeWidth(1); text1.setStroke(Color.CHOCOLATE); String str2 = "Welcome To"; Text text2 = new Text(40.0, 110.0, str2); Font font2 = Font.font("Verdana", FontWeight.LIGHT, 25); text2.setFont(font2); //Setting the color of the text text2.setFill(Color.YELLOWGREEN); text2.setStrokeWidth(1); text2.setStroke(Color.DARKRED); String str3 = "Tutorialspoint"; Text text3= new Text(50.0, 110.0, str3); Font font3 = Font.font("Kunstler Script", FontWeight.BOLD, 80); text3.setFont(font3); //Setting the color of the text text3.setFill(Color.CORNFLOWERBLUE); text3.setStrokeWidth(1); text3.setStroke(Color.CRIMSON); //Creating the text flow TextFlow textFlow = new TextFlow(); textFlow.getChildren().addAll(text1, text2, text3); //Setting the stage Group root = new Group(textFlow); Scene scene = new Scene(root, 595, 150, Color.BEIGE); stage.setTitle("Text Flow Example"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }
输出
广告