ボタンは、クリックされるとアクション イベントをトリガーするコントロールです。 JavaFX には、通常のボタン、トグル ボタン、チェック ボックス ボタン、およびラジオ ボタンが用意されています。これらのボタンの共通機能は、以下の図に示すように ButtonBase クラスと Labeled クラスで定義されています。
Labeled クラスは、ラベルとボタンの共通プロパティを定義します。ボタンは、ボタンのアクションを処理するためのハンドラーを設定する ButtonBase クラスで定義された onAction プロパティを持つことを除いて、ラベルと同じです。
以下のコードは、下の図に示すように、ボタンを使用してテキストの動きを制御するプログラムを提供します。
package application; import javafx.application.Application; import javafx.stage.Stage; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.image.ImageView; import javafx.scene.layout.BorderPane; import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; import javafx.scene.text.Text; public class ButtonDemo extends Application { protected Text text = new Text(50, 50, "JavaFX Programming"); protected BorderPane getPane() { HBox paneForButtons = new HBox(20); Button btLeft = new Button("Left", new ImageView("file:/C:/Users/Paul/development/MyJavaFX/src/application/image/lo.jpg")); Button btRight = new Button("Right", new ImageView("file:/C:/Users/Paul/development/MyJavaFX/src/application/image/lo.jpg")); paneForButtons.getChildren().addAll(btLeft, btRight); paneForButtons.setAlignment(Pos.CENTER); paneForButtons.setStyle("-fx-border-color: green"); BorderPane pane = new BorderPane(); pane.setBottom(paneForButtons); Pane paneForText = new Pane(); paneForText.getChildren().add(text); pane.setCenter(paneForText); btLeft.setOnAction(e -> text.setX(text.getX() - 10)); btRight.setOnAction(e -> text.setX(text.getX() + 10)); return pane; } @Override // Override the start method in the Application class public void start(Stage primaryStage) { // Create a scene and place it in the stage Scene scene = new Scene(getPane(), 450, 200); primaryStage.setTitle("ButtonDemo"); // Set the stage title primaryStage.setScene(scene); // Place the scene in the stage primaryStage.show(); // Display the stage } public static void main(String[] args) { Application.launch(args); } }
プログラムは 2 つのボタン btLeft と btRight を作成し、各ボタンにはテキストと画像が含まれます (行 18 ~ 19)。ボタンは HBox (行 20) に配置され、HBox は境界ペインの下部に配置されます (行 25)。テキストは 14 行目で作成され、枠線ペインの中央に配置されます (29 行目)。 btLeft のアクション ハンドラーは、テキストを左に移動します (行 31)。 btRight のアクション ハンドラーは、テキストを右に移動します (32 行目)。
プログラムは、ペインを返すために保護された getPane() メソッドを意図的に定義しています (16 行目)。このメソッドは、ペインにさらにノードを追加するために、次の例のサブクラスによってオーバーライドされます。テキストは保護されていると宣言されているため、サブクラスからアクセスできます (14 行目)。
以上がボタンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。