如何在 JavaFX 中创建菜单按钮?
javafxobject oriented programmingprogramming更新于 2026/1/9 20:28:17
菜单 是呈现给用户的选项或命令列表,通常菜单包含执行某些操作的项目。菜单的内容称为菜单项,菜单栏包含多个菜单。
用户界面应用程序中的按钮控件,一般来说,单击按钮时会执行相应的操作。
菜单按钮只是一个按钮,单击后会显示菜单。您可以通过实例化javafx.scene.control.MenuButton类来创建菜单按钮。
要填充其菜单,请创建所需数量的 MenuItem 类对象,并将它们添加到 MenuButton 的可观察列表中,如下所示 −
menuButton.getItems(item1, item2, item3);
示例
以下示例演示了如何创建 MenuButton。
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.MenuButton;
import javafx.scene.control.MenuItem;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
public class MenuButtonExample extends Application {
@Override
public void start(Stage stage) {
//创建菜单
MenuButton menu = new MenuButton("Technology");
//创建菜单项
menu.setMnemonicParsing(true);
MenuItem item1 = new MenuItem("Java");
MenuItem item2 = new MenuItem("Python");
MenuItem item3 = new MenuItem("C++");
MenuItem item4 = new MenuItem("大数据");
MenuItem item5 = new MenuItem("机器学习");
//将所有菜单项添加到菜单中
menu.getItems().addAll(item1, item2, item3, item4, item5);
//将选择框添加到场景中
HBox layout = new HBox(25);
layout.getChildren().addAll(menu);
layout.setPadding(new Insets(15, 50, 50, 150));
layout.setStyle("-fx-background-color: BEIGE");
//设置舞台
Scene scene = new Scene(layout, 595, 200);
stage.setTitle("Menu Button");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
输出


