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 MethodelayoutChildren()
haben. -
Die Methode
layoutChildren()
gibt die Grösse der Schaltfläche an. Wir könnensetPrefWidth()
undsetPrefHeight()
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 KlasseToolBar
ü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:
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