ボタンは、クリックされるとアクション イベントをトリガーするコントロールです。 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 行目)。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3