JavaFX 提供哪些类型的按钮?

javafxobject oriented programmingprogramming更新于 2026/1/4 5:00:17

按钮是用户界面应用程序中的控件,通常,点击按钮时会执行相应的操作。

您可以通过实例化 javafx.scene.control.Button 类来创建按钮。使用此类,您可以创建三种类型的按钮。它们是 −

  • 普通按钮 − 按下时会触发相应操作(如果有)的常规按钮。

  • 默认按钮 − 如果焦点处于焦点状态,则在按下 Enter 按钮时触发此按钮。您可以将按钮设置为默认按钮,绕过 “true”作为 setDefaultButton() 方法的值。

  • 取消 −如果焦点处于焦点状态,则按下 Esc 按钮时会触发此按钮。您可以将按钮设置为取消按钮,而无需将 “true” 作为 setCancelButton() 方法的值。

示例

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class ButtonTypes extends Application {
   @Override
   public void start(Stage stage) {
      //Creating a Button
      Button defaultBtn = new Button();
      defaultBtn.setFocusTraversable(true);
      defaultBtn.setText("Default (Enter)");
      defaultBtn.setTranslateX(150);
      defaultBtn.setTranslateY(65);
      //Setting as default button
      defaultBtn.setDefaultButton(true);
      //Adding action listener
      defaultBtn.setOnAction(e -> {
         System.out.println("Default Button Clicked.");
      });
      Button cancel = new Button();
      //Setting properties
      cancel.setFocusTraversable(true);
      cancel.setText("Cancel (Esc)");
      cancel.setTranslateX(300);
      cancel.setTranslateY(65);
      //Setting the cancel button
      cancel.setCancelButton(true);
      //Adding action listener
      cancel.setOnAction(e -> {
         System.out.println("Cancel Button Clicked.");
      });
      Button btn = new Button();
      btn.setText("Sample");
      btn.setTranslateX(450);
      btn.setTranslateY(65);
      //Adding action listener
      btn.setOnAction(e -> {
         System.out.println("sample Button Clicked.");
      });
      //Setting the stage
      Group root = new Group(defaultBtn, cancel, btn);
      Scene scene = new Scene(root, 595, 150, Color.BEIGE);
      stage.setTitle("Button Example");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

输出

按下 Enter 键时,将触发默认按钮;按下 Esc 键时,将触发取消按钮。


相关文章