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