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()
メソッドを使用して回転角度を設定します。 -
text
をgroup
に追加します。 -
シーンをステージに渡し、
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