如何在 JavaFX 中为菜单添加助记词?
菜单是呈现给用户的一系列选项或命令。在 JavaFX 中,菜单由 javafx.scene.control.Menu 类表示,你可以通过实例化这个类来创建一个菜单。
为菜单设置助记词
助记词是一个数字或字符,在用户界面组件(按钮、文本字段等)的菜单标题中,通常用下划线表示。如果你按住这个字符和 Alt 键,将聚焦于相应的菜单项。
你可以使用 setMnemonicParsing() 方法为菜单设置助记词。将布尔值 true 作为参数传递给此方法。
在菜单上设置助记词解析 −
通过实例化 MenuItem 类创建菜单项
通过实例化 Menu 类创建菜单,将上面创建的菜单项添加到其中。
使用 setMnemonicParsing() 方法将 MnemonicParsing 属性的值设置为 true。
通过将菜单作为其构造函数的参数来实例化 MenuBar 类。
将 MenuBar 添加到场景中。
示例
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.paint.Color; import javafx.stage.Stage; public class MenuItem_Mnemonics extends Application { public void start(Stage stage) { //Creating file menu Menu file = new Menu("_File"); file.setMnemonicParsing(true); //Creating file menu items MenuItem item1 = new MenuItem("New"); MenuItem item2 = new MenuItem("Open File"); MenuItem item3 = new MenuItem("Close"); //Adding all the menu items to the file menu file.getItems().addAll(item1, item2, item3); //Creating FileList menu Menu fileList = new Menu("_Edit"); fileList.setMnemonicParsing(true); //Creating fileList menu items MenuItem item6 = new MenuItem("Copy"); MenuItem item7 = new MenuItem("Paste"); MenuItem item8 = new MenuItem("Select All"); //Adding all the items to File List menu fileList.getItems().addAll(item6, item7, item8); //Creating Skin menu Menu skin = new Menu("_Display"); skin.setMnemonicParsing(true); //Creating skin menu items MenuItem item9 = new MenuItem("Regular"); MenuItem item10 = new MenuItem("Inverse"); skin.getItems().addAll(item9, item10); //Adding all elements to Skin menu //Creating a menu bar and adding menu to it. MenuBar menuBar = new MenuBar(); menuBar.setTranslateX(200); menuBar.setTranslateY(20); menuBar.getMenus().addAll(file, fileList, skin); //Setting the stage Group root = new Group(menuBar); Scene scene = new Scene(root, 595, 200, Color.BEIGE); stage.setTitle("Menu Bar Example"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }
输出
广告