菜单是提供给用户的选项或命令的列表,通常菜单包含执行某些操作的项目。菜单的内容称为菜单项,菜单栏包含多个菜单。您可以通过实例化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"); //创建菜单项 for the sub item edit 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); //创建菜单 bar and adding menu to it. 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); } }
输出结果