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도 회전합니다.
출력:
다음은 임의의 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
및 회전 정도를 사용하여 여러 텍스트를 회전합니다.
출력:
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