HOWTO · Java
JavaFX スクエアボタン
このチュートリアルでは、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);
}
}
上記のコードは、テキストが収まるサイズの正方形のボタンを作成します。
出力: