HOWTO · Java

JavaFX 텍스트 회전

이 튜토리얼은 JavaFX에서 텍스트를 회전하는 방법을 보여줍니다.

이 페이지의 내용

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

JavaFX 텍스트 회전

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

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

통사론:

text.setRotate(int);

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

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

다음은 임의의 x 및 y 위치와 임의의 회전 각도를 기반으로 여러 텍스트를 회전하는 또 다른 예입니다.

예제 코드:

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 회전 텍스트