如何為選單項新增快捷鍵?
選單是提供給使用者的一組選項或命令,選單通常包含執行某些操作的專案。選單的內容稱為選單項,選單欄包含多個選單。
在 JavaFX 中,選單由 java.fx.scene.control.Menu 類表示,選單項由 java.fx.scene.control.MenuItem 類表示,java.fx.scene.control.MenuBar 類表示選單欄。
向選單項新增加速器 -
加速器是選單項的快捷方式。MenuItem 類包含一個名為 accelerator(型別為 keyCombination)的屬性,它將某個組合鍵關聯到當前 MenuItem 的操作。
您可以使用 setAccelerator() 方法為此屬性設定值。因此,要為特定的 MenuItem 設定加速器,請在其上呼叫 setAccelerator() 方法,如下所示:
MenuItem item = new MenuItem("Exit", imgView3); item.setAccelerator(KeyCombination.keyCombination("Ctrl+X"));
示例
import javafx.application.Application; import javafx.event.ActionEvent; 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.image.ImageView; import javafx.scene.input.KeyCombination; import javafx.scene.paint.Color; import javafx.stage.Stage; public class MenuItemAccelerators extends Application { @Override public void start(Stage stage) { //Creating image view files ImageView imgView1 = new ImageView("UIControls/open.png"); imgView1.setFitWidth(20); imgView1.setFitHeight(20); ImageView imgView2 = new ImageView("UIControls/Save.png"); imgView2.setFitWidth(20); imgView2.setFitHeight(20); ImageView imgView3 = new ImageView("UIControls/Exit.png"); imgView3.setFitWidth(20); imgView3.setFitHeight(20); //Creating menu Menu fileMenu = new Menu("File"); //Creating menu Items MenuItem item1 = new MenuItem("Open File", imgView1); MenuItem item2 = new MenuItem("Save file", imgView2); MenuItem item3 = new MenuItem("Exit", imgView3); //Setting accelerators to the menu items item1.setAccelerator(KeyCombination.keyCombination("Ctrl+F")); item2.setAccelerator(KeyCombination.keyCombination("Ctrl+S")); item3.setAccelerator(KeyCombination.keyCombination("Ctrl+X")); //Adding all the menu items to the menu fileMenu.getItems().addAll(item1, item2, item3); //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); } }
輸出
廣告