Bouton carré JavaFX
Les boutons carrés peuvent être créés en étendant la classe ToolBar
en Java. Ce tutoriel montre comment créer un bouton carré dans JavaFX.
Créer un bouton carré dans JavaFX
Les boutons sont créés en instanciant la classe Button dans JavaFX. Les boutons sont utilisés pour exécuter certaines activités dans JavaFX.
Il est représenté par la classe JavaFX.scene.control.Button
. Le bouton peut contenir un texte ou une icône.
Nous devons définir la taille du bouton pour créer le bouton carré. Les fonctions suivantes sont utilisées pour manipuler la taille du bouton dans JavaFX.
Les fonctions:
button.setMinWidth() button.setMaxWidth() button
.setPrefWidth()
button.setMinHeight() button.setMaxHeight() button
.setPrefHeight()
button.setMinSize() button.setMaxSize() button.setPrefSize()
Nous pouvons utiliser les méthodes ci-dessus pour définir la taille d’un bouton afin de le rendre carré. Suivez les étapes ci-dessous pour créer un bouton carré dans JavaFX :
-
Tout d’abord, créez une classe en étendant la classe Application.
-
Implémentez la méthode
start()
. -
Créez les boutons en instanciant la classe
Button
. -
Créez une autre classe qui étend la classe
ToolBar
. Cette classe aura une méthodelayoutChildren()
. -
La méthode
layoutChildren()
spécifiera la taille du bouton. Nous pouvons utilisersetPrefWidth()
etsetPrefHeight()
avec les mêmes valeurs pour créer des boutons carrés. -
Créer un objet de la classe qui hérite de la classe
ToolBar
, instancier la classe et lui passer les boutons. -
Créez un Border Pane en instanciant la classe
BorderPane
et en passant l’objet ci-dessus de la classeToolBar
. -
Créez un objet scène, instanciez la classe scène et transmettez l’objet
BorderPane
à la scène. -
Ajoutez une scène à la scène en utilisant la méthode
setScene()
. -
Affichez la scène à l’aide de la méthode
show()
. -
Enfin, lancez l’application.
Code source complet :
package delftstack;
import javafx.application.Application;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ToolBar;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class JavaFX_Square_Button extends Application {
@Override
public void start(Stage Demo_Stage) {
Button Button1 = new Button("One");
Button Button2 = new Button("Two Two");
Button Button3 = new Button("Three Three Three");
Square_Button_ToolBar Tool_Bar = new Square_Button_ToolBar();
Tool_Bar.getItems().addAll(Button1, Button2, Button3);
BorderPane Border_Pane = new BorderPane();
Border_Pane.setTop(Tool_Bar);
Scene Demo_Scene = new Scene(Border_Pane, 500, 500);
Demo_Stage.setScene(Demo_Scene);
Demo_Stage.show();
Tool_Bar.requestLayout();
}
// A derivative of the ToolBar class to resize all buttons of the same size and square.
class Square_Button_ToolBar extends ToolBar {
@Override
protected void layoutChildren() {
double Min_Pref_Size = Calculate_Pref_Child_Size();
for (Node x : getItems()) {
if (x instanceof Button) {
((Button) x).setPrefWidth(Min_Pref_Size);
((Button) x).setPrefHeight(Min_Pref_Size);
}
}
super.layoutChildren();
}
private double Calculate_Pref_Child_Size() {
double Min_Pref_Size = 0.0d;
for (Node x : getItems()) {
if (x instanceof Button) {
Min_Pref_Size = Math.max(Min_Pref_Size, x.prefWidth(-1));
}
}
return Min_Pref_Size;
}
}
public static void main(String[] args) {
launch(args);
}
}
Le code ci-dessus créera le bouton carré de la taille dans laquelle le texte est ajusté.
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