JavaFX Text Drehen
Die Textknoten können mit der Klasse JavaFX.scene.text.Text
erstellt werden, und um den Text zu drehen, verwenden wir setRotate()
in JavaFX. Dieses Tutorial zeigt, wie Sie Text in JavaFX drehen.
JavaFX Text Drehen
Die Methode setRotate()
wird in JavaFX verwendet, um den Text zu drehen. Die Textknoten werden auf der Szene platziert und um die Positionen x
und y
gedreht.
Diese x
- und y
-Positionen werden beim Instanziieren der Text
-Klasse in den Text übergeben.
Syntax:
text.setRotate(int);
Das int
in der obigen Syntax ist der Rotationswert des Textes. Im Folgenden sind die Schritte zum Drehen des Textes in JavaFX aufgeführt.
-
Erstellen Sie eine Klasse, die die Klasse
Application
erweitert. -
Setzen Sie den Titel in der Methode
start
auf die Bühne. -
Erstellen Sie eine Gruppe, indem Sie die Klasse
Group
instanziieren. -
Erstellen Sie eine Szene, indem Sie die Klasse
Scene
instanziieren und ihr dieGroup
übergeben. -
Initialisieren Sie
x
,y
undRGB
mit den angegebenen Werten. -
Erstellen Sie den Text, indem Sie die Klasse
Text
instanziieren und die Wertex
,y
undtext
übergeben. -
Füllen Sie die Farbe mit der Methode
SetFill()
in den Text ein. -
Stellen Sie den Rotationsgrad mit der Methode
setRotate()
ein. -
Fügen Sie den
text
dergroup
hinzu. -
Übergeben Sie die Szene an die Bühne und zeigen Sie die Bühne mit der Methode
Show
an und starten Sie die Anwendung in dermain
methode.
Lassen Sie uns versuchen, ein Beispiel basierend auf den obigen Schritten zu implementieren.
Vollständiger Quellcode:
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);
}
}
Der obige Code dreht den Text um 45 Grad.
Ausgabe:
Hier ist ein weiteres Beispiel, das die mehreren Texte basierend auf den zufälligen x
- und y
-Positionen und zufälligen Rotationsgraden dreht.
Beispielcode:
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);
}
}
Der obige Code dreht mehrere Texte mit den zufälligen Werten x
, y
, RGB
und Rotationsgrad.
Ausgabe:
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