JavaFX 文字旋轉

Sheeraz Gul 2024年2月15日
JavaFX 文字旋轉

可以使用 JavaFX.scene.text.Text 類建立文字節點,並在 JavaFX 中使用 setRotate() 來旋轉文字。本教程演示瞭如何在 JavaFX 中旋轉文字。

JavaFX 文字旋轉

JavaFX 中使用 setRotate() 方法來旋轉文字。文字節點放置在場景中,並將圍繞 xy 位置旋轉。

在例項化 Text 類時,這些 xy 位置被傳遞到文字中。

語法:

text.setRotate(int);

上述語法中的 int 是文字的旋轉值。以下是在 JavaFX 中旋轉文字的步驟。

  • 建立一個擴充套件 Application 類的類。
  • start 方法中將標題設定為舞臺。
  • 通過例項化 Group 類來建立一個組。
  • 通過例項化 Scene 類並將 Group 傳遞給它來建立場景。
  • 用給定的值初始化 xyRGB
  • 通過例項化 Text 類並傳遞 xytext 值來建立文字。
  • 通過 SetFill() 方法為文字填充顏色。
  • 使用 setRotate() 方法設定旋轉度數。
  • 文字新增到
  • 將場景傳遞到舞臺並通過 Show 方法顯示舞臺並在 main 方法中啟動應用程式。

讓我們嘗試根據上述步驟實現一個示例。

完整原始碼:

package delftstack;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class JavaFX_TextRotate extends Application {
  @Override
  public void start(Stage Demo_Stage) {
    Demo_Stage.setTitle("Text");
    Group Group_Root = new Group();
    Scene Demo_Scene = new Scene(Group_Root, 300, 250, Color.WHITE);
    int x = 150;
    int y = 150;
    int RED = 30;
    int GREEN = 40;
    int BLUE = 50;

    Text Demo_Text = new Text(x, y, "Delftstack");

    Demo_Text.setFill(Color.rgb(RED, GREEN, BLUE, .99));
    Demo_Text.setRotate(45);
    Group_Root.getChildren().add(Demo_Text);

    Demo_Stage.setScene(Demo_Scene);
    Demo_Stage.show();
  }
  public static void main(String[] args) {
    Application.launch(args);
  }
}

上面的程式碼會將文字旋轉 45 度。

輸出:

JavaFX 旋轉文字

這是另一個基於隨機 xy 位置和隨機旋轉度數旋轉多個文字的示例。

示例程式碼:

package delftstack;

import java.util.Random;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class JavaFX_Rotate extends Application {
  @Override
  public void start(Stage Demo_Stage) {
    Demo_Stage.setTitle("TEXT");
    Group Group_Root = new Group();
    Scene Demo_Scene = new Scene(Group_Root, 300, 250, Color.WHITE);
    Random Random_Number = new Random(System.currentTimeMillis());
    for (int i = 0; i < 100; i++) {
      int x = Random_Number.nextInt((int) Demo_Scene.getWidth());
      int y = Random_Number.nextInt((int) Demo_Scene.getHeight());
      int RED = Random_Number.nextInt(255);
      int GREEN = Random_Number.nextInt(255);
      int BLUE = Random_Number.nextInt(255);

      Text Demo_Text = new Text(x, y, "Delftstack");

      int Rotation = Random_Number.nextInt(180);
      Demo_Text.setFill(Color.rgb(RED, GREEN, BLUE, .99));
      Demo_Text.setRotate(Rotation);
      Group_Root.getChildren().add(Demo_Text);
    }

    Demo_Stage.setScene(Demo_Scene);
    Demo_Stage.show();
  }

  public static void main(String[] args) {
    Application.launch(args);
  }
}

上面的程式碼將使用隨機的 xyRGB 和旋轉度數旋轉多個文字。

輸出:

JavaFX 旋轉文字

作者: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

相關文章 - Java JavaFX