如何在 JavaFX 中创建子菜单?
javafxobject oriented programmingprogramming更新于 2025/4/13 22:07:17
菜单是呈现给用户的选项或命令列表,通常菜单包含执行某些操作的项目。菜单的内容称为菜单项,菜单栏包含多个菜单。您可以通过实例化 javafx.scene.control.Menu 类来创建菜单。
添加子菜单
要创建菜单 −
实例化 Menu 类。
通过实例化 MenuItem 类创建所需数量的菜单项。
将创建的菜单项添加到菜单的可观察列表中。
要添加子菜单,您只需将菜单添加到另一个菜单即可。
示例
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.Menu; import javafx.scene.control.MenuBar; import javafx.scene.control.MenuItem; import javafx.scene.control.SeparatorMenuItem; import javafx.scene.paint.Color; import javafx.stage.Stage; public class SubMenuExample extends Application { @Override public void start(Stage stage) { //创建菜单 Menu fileMenu = new Menu("File"); //创建菜单项 MenuItem save = new MenuItem("Save"); Menu edit = new Menu("Edit"); MenuItem remove = new MenuItem("Remove"); MenuItem exit = new MenuItem("Exit"); //为子项编辑创建菜单项 MenuItem sub1 = new MenuItem("Copy"); MenuItem sub2 = new MenuItem("Paste"); //将子项添加到编辑 edit.getItems().addAll(sub1, sub2); //创建分隔符 SeparatorMenuItem sep = new SeparatorMenuItem(); //将所有菜单项添加到菜单 fileMenu.getItems().addAll(save, edit, remove, sep, exit); //创建菜单栏并向其添加菜单。 MenuBar menuBar = new MenuBar(fileMenu); menuBar.setTranslateX(200); menuBar.setTranslateY(20); //设置舞台 Group root = new Group(menuBar); Scene scene = new Scene(root, 595, 200, Color.BEIGE); stage.setTitle("Menu Example"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }