Bouton carré JavaFX

Sheeraz Gul 15 février 2024
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éthode layoutChildren().
  • La méthode layoutChildren() spécifiera la taille du bouton. Nous pouvons utiliser setPrefWidth() et setPrefHeight() 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 classe ToolBar.
  • 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:

Bouton carré JavaFX

Auteur: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

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

Article connexe - Java JavaFX