JavaFX 텍스트 회전

Sheeraz Gul 2024년2월15일
JavaFX 텍스트 회전

텍스트 노드는 JavaFX.scene.text.Text 클래스를 사용하여 생성할 수 있으며, 텍스트를 회전하기 위해 JavaFX에서 setRotate()를 사용합니다. 이 튜토리얼은 JavaFX에서 텍스트를 회전하는 방법을 보여줍니다.

JavaFX 텍스트 회전

setRotate() 메소드는 JavaFX에서 텍스트를 회전하는 데 사용됩니다. 텍스트 노드는 장면에 배치되고 xy 위치를 중심으로 회전합니다.

이러한 xy 위치는 Text 클래스를 인스턴스화할 때 텍스트로 전달됩니다.

통사론:

text.setRotate(int);

위 구문에서 int는 텍스트의 회전 값입니다. 다음은 JavaFX에서 텍스트를 회전하는 단계입니다.

  • Application 클래스를 확장하는 클래스를 만듭니다.
  • start 메소드에서 제목을 스테이지로 설정합니다.
  • Group 클래스를 인스턴스화하여 그룹을 만듭니다.
  • Scene 클래스를 인스턴스화하고 Group을 전달하여 장면을 만듭니다.
  • 주어진 값으로 x, y, RGB를 초기화합니다.
  • Text 클래스를 인스턴스화하고 x, ytext 값을 전달하여 텍스트를 만듭니다.
  • SetFill() 메서드로 텍스트에 색상을 채웁니다.
  • setRotate() 메서드를 사용하여 회전 정도를 설정합니다.
  • grouptext를 추가합니다.
  • 장면을 스테이지로 전달하고 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);
  }
}

위의 코드는 임의의 x, y, RGB 및 회전 정도를 사용하여 여러 텍스트를 회전합니다.

출력:

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