JavaFX スクエアボタン

Sheeraz Gul 2024年2月15日
JavaFX スクエアボタン

四角いボタンは、Java で ToolBar クラスを拡張することで作成できます。このチュートリアルでは、JavaFX で正方形のボタンを作成する方法を示します。

JavaFX で正方形のボタンを作成する

ボタンは、JavaFX で Button クラスをインスタンス化することによって作成されます。ボタンは、JavaFX でいくつかのアクティビティを実行するために使用されます。

これは、JavaFX.scene.control.Button クラスで表されます。ボタンには、テキストまたはアイコンを付けることができます。

四角いボタンを作成するには、ボタンのサイズを設定する必要があります。次の関数は、JavaFX のボタンのサイズを操作するために使用されます。

機能:

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

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

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

上記の方法を使用して、ボタンのサイズを設定して正方形にすることができます。以下の手順に従って、JavaFX で正方形のボタンを作成します。

  • まず、Application クラスを拡張してクラスを作成します。
  • start() メソッドを実装します。
  • クラス Button をインスタンス化してボタンを作成します。
  • ToolBar クラスを拡張する別のクラスを作成します。このクラスには、メソッド layoutChildren() があります。
  • layoutChildren() メソッドはボタンのサイズを指定します。setPrefWidth()setPrefHeight() を同じ値で使用して、正方形のボタンを作成できます。
  • ToolBar クラスを継承するクラスのオブジェクトを作成し、クラスをインスタンス化してボタンを渡します。
  • BorderPane クラスをインスタンス化し、ToolBar クラスの上記のオブジェクトを渡すことにより、境界ペインを作成します。
  • シーンオブジェクトを作成し、シーンクラスをインスタンス化して、BorderPane オブジェクトをシーンに渡します。
  • setScene() メソッドを使用して、シーンをステージに追加します。
  • show() メソッドを使用してステージを表示します。
  • 最後に、アプリケーションを起動します。

完全なソースコード:

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

上記のコードは、テキストが収まるサイズの正方形のボタンを作成します。

出力:

JavaFX スクエアボタン

著者: 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

関連記事 - Java JavaFX