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 键时,将触发取消按钮。


