按钮是一个点击时触发动作事件的控件。 javafx 提供常规按钮、切换按钮、复选框按钮和单选按钮。这些按钮的共同特征定义在 buttonbase 和 labeled 类中,如下图所示。
Labeled类定义了标签和按钮的通用属性。按钮就像标签一样,只不过按钮具有在 ButtonBase 类中定义的 onAction 属性,该属性设置用于处理按钮操作的处理程序。 copyright zvvq
下面的代码给出了一个使用按钮来控制文本移动的程序,如下图所示。打包申请; 导入javafx.application.Application; 导入javafx.stage.Stage; 导入 javafx.geometry.Pos; 导入javafx.scene.Scene; 导入javafx.scene.control.Button; 导入javafx.scene.image.ImageView; 导入 javafx.scene.layout.BorderPane; 导入javafx.scene.layout.HBox; 导入javafx.scene.layout.Pane; 导入javafx.scene.text.Text; 公共类 ButtonDemo 扩展应用程序 { protected Text text = new Text(50, 50, "JavaFX 编程"); 受保护的 BorderPane getPane() { HBox paneForButtons = new HBox(20); Button btLeft = new Button("左", new ImageView("文件:/C:/Users/Paul/development/MyJavaFX/src/application/image/lo.jpg")); Button btRight = new Button("右", new ImageView("文件:/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 窗格 = new BorderPane(); pane.setBottom(paneForButtons); 窗格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)); 返回窗格; } @Override // 重写Application类中的start方法 公共无效开始(阶段primaryStage){ // 创建场景并将其放置在舞台中 场景场景 = new Scene(getPane(), 450, 200); PrimaryStage.setTitle("ButtonDemo"); // 设置舞台标题 PrimaryStage.setScene(场景); // 将场景放置在舞台上 PrimaryStage.show(); // 显示舞台 } 公共静态无效主(字符串[] args){ 应用程序.launch(args); } }1
内容来自samhan666
zvvq好,好zvvq
程序创建两个按钮btLeft 和 btRight,每个按钮包含一个文本和一个图像(第 18-19 行)。按钮放置在 HBox 中(第 20 行),HBox 放置在边框窗格的底部(第 25 行)。文本在第 14 行中创建,并放置在边框窗格的中心(第 29 行)。 btLeft 的操作处理程序将文本向左移动(第 31 行)。 btRight 的操作处理程序将文本向右移动(第 32 行)。 本文来自zvvq
程序特意定义了一个受保护的getPane()方法来返回一个窗格(第16行)。在接下来的示例中,该方法将被子类覆盖,以在窗格中添加更多节点。该文本被声明为受保护,以便子类可以访问它(第 14 行)。
zvvq
以上就是按钮的详细内容,更多请关注其它相关文章!