如何在 JavaFX 中创建子菜单?
菜单是呈现给用户的选项或命令的列表,通常,菜单包含执行某些操作的项目。菜单的内容称为菜单项目,一个菜单栏包含多个菜单。可以创建菜单,通过实例化 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) { //Creating a menu Menu fileMenu = new Menu("File"); //Creating menu Items MenuItem save = new MenuItem("Save"); Menu edit = new Menu("Edit"); MenuItem remove = new MenuItem("Remove"); MenuItem exit = new MenuItem("Exit"); //Creating menu items for the sub item edit MenuItem sub1 = new MenuItem("Copy"); MenuItem sub2 = new MenuItem("Paste"); //Adding sub items to the edit edit.getItems().addAll(sub1, sub2); //Creating a separator SeparatorMenuItem sep = new SeparatorMenuItem(); //Adding all the menu items to the menu fileMenu.getItems().addAll(save, edit, remove, sep, exit); //Creating a menu bar and adding menu to it. MenuBar menuBar = new MenuBar(fileMenu); menuBar.setTranslateX(200); menuBar.setTranslateY(20); //Setting the stage 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); } }
输出
广告