Rotation du texte JavaFX
![Rotation du texte JavaFX](/img/Java/JavaFX-Rotate-Text.webp)
Les nœuds de texte peuvent être créés à l’aide de la classe JavaFX.scene.text.Text
, et pour faire pivoter le texte, nous utilisons setRotate()
dans JavaFX. Ce tutoriel montre comment faire pivoter du texte dans JavaFX.
Rotation du texte JavaFX
La méthode setRotate()
est utilisée dans JavaFX pour faire pivoter le texte. Les nœuds de texte sont placés sur la scène et seront tournés autour des positions x
et y
.
Ces positions x
et y
sont passées dans le texte lors de l’instanciation de la classe Text
.
Syntaxe:
text.setRotate(int);
Le int
dans la syntaxe ci-dessus est la valeur de rotation du texte. Voici les étapes pour faire pivoter le texte dans JavaFX.
-
Créez une classe qui étend la classe
Application
. -
Définissez le titre sur la scène dans la méthode
start
. -
Créez un groupe en instanciant la classe
Group
. -
Créez une scène en instanciant la classe
Scene
et en lui passant leGroup
. -
Initialisez le
x
, ley
et leRGB
avec les valeurs données. -
Créez le texte en instanciant la classe
Text
et en transmettant les valeursx
,y
etText
. -
Remplissez la couleur du texte par la méthode
SetFill()
. -
Définissez le degré de rotation à l’aide de la méthode
setRotate()
. -
Ajoutez le
text
augroup
. -
Passez la scène à la scène et affichez la scène par la méthode
Show
et lancez l’application dans la méthodemain
.
Essayons d’implémenter un exemple basé sur les étapes ci-dessus.
Code source complet :
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);
}
}
Le code ci-dessus fera pivoter le texte à 45 degrés.
Production:
Voici un autre exemple qui fait pivoter les multiples textes en fonction des positions aléatoires x
et y
et des degrés de rotation aléatoires.
Exemple de code :
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);
}
}
Le code ci-dessus fera pivoter plusieurs textes en utilisant le x
, y
, RGB
et le degré de rotation aléatoires.
Production:
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