如何在 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); } }
輸出
廣告