JavaFX Quadratische Schaltfläche

Sheeraz Gul 15 Februar 2024
JavaFX Quadratische Schaltfläche

Die quadratischen Schaltflächen können durch Erweiterung der Klasse ToolBar in Java erstellt werden. Dieses Tutorial zeigt, wie man eine quadratische Schaltfläche in JavaFX erstellt.

Erstellen einer quadratischen Schaltfläche in JavaFX

Schaltflächen werden durch Instanziieren der Button-Klasse in JavaFX erstellt. Die Schaltflächen werden verwendet, um einige Aktivitäten in JavaFX auszuführen.

Es wird durch die Klasse JavaFX.scene.control.Button dargestellt. Die Schaltfläche kann einen Text oder ein Symbol enthalten.

Wir müssen die Größe der Schaltfläche festlegen, um die quadratische Schaltfläche zu erstellen. Die folgenden Funktionen werden verwendet, um die Größe der Schaltfläche in JavaFX zu manipulieren.

Funktionen:

button.setMinWidth() button.setMaxWidth() button
    .setPrefWidth()

        button.setMinHeight() button.setMaxHeight() button
    .setPrefHeight()

        button.setMinSize() button.setMaxSize() button.setPrefSize()

Wir können die obigen Methoden verwenden, um die Größe einer Schaltfläche so einzustellen, dass sie quadratisch wird. Führen Sie die folgenden Schritte aus, um eine quadratische Schaltfläche in JavaFX zu erstellen:

  • Erstellen Sie zunächst eine Klasse, indem Sie die Application-Klasse erweitern.
  • Implementieren Sie die Methode start().
  • Erstellen Sie die Schaltflächen, indem Sie die Klasse Button instanziieren.
  • Erstellen Sie eine weitere Klasse, die die Klasse ToolBar erweitert. Diese Klasse wird eine Methode layoutChildren() haben.
  • Die Methode layoutChildren() gibt die Grösse der Schaltfläche an. Wir können setPrefWidth() und setPrefHeight() mit denselben Werten verwenden, um quadratische Schaltflächen zu erstellen.
  • Erstellen Sie ein Objekt der Klasse, das die Klasse ToolBar erbt, instanziieren Sie die Klasse und übergeben Sie ihr die Schaltflächen.
  • Erstellen Sie ein Border Pane, indem Sie die Klasse BorderPane instanziieren und das obige Objekt der Klasse ToolBar übergeben.
  • Erstellen Sie ein Szenenobjekt, instanziieren Sie die Szenenklasse und übergeben Sie das BorderPane-Objekt an die Szene.
  • Fügen Sie der Bühne mit der Methode setScene() eine Szene hinzu.
  • Zeigen Sie die Bühne mit der Methode show() an.
  • Starten Sie schließlich die Anwendung.

Vollständiger Quellcode:

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);
  }
}

Der obige Code erstellt die quadratische Schaltfläche in der Größe, in die der Text passt.

Ausgabe:

JavaFX-Quadrat-Schaltfläche

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

Verwandter Artikel - Java JavaFX