如何在 JavaFX 中停用選單項
選單是向用戶呈現的一系列選項或命令列表,通常選單包含執行某些操作的項。選單的內容稱為選單項,選單欄包含多個選單。
在 JavaFX 中,選單由 `javafx.scene.control.Menu` 類表示,選單項由 `javafx.scene.control.MenuItem` 類表示,`javafx.scene.control.MenuBar` 類表示選單欄。
建立選單:
例項化 **Menu** 類。
透過例項化 **MenuItem** 類建立所需數量的選單項。
將所有選單項新增到選單中:
fileMenu.getItems().addAll(item1, item2, item3);
透過例項化 **MenuBar** 類建立一個選單欄。
將所有建立的選單新增到選單欄中:
menuBar.getMenus().addAll(fileMenu, fileList, skin);
將選單欄新增到場景中。
停用 MenuItem
MenuItem 類包含一個名為 **visible** (布林型) 的屬性,該屬性指定是否顯示當前 MenuItem。您可以使用 **setVisible()** 方法設定此屬性的值。
要停用特定選單項,請透過傳遞布林值 **“false”** 來在其物件上呼叫 **setVisible()** 方法。
示例
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 DisablingMenuItems extends Application { @Override public void start(Stage stage) { //Creating a menu Menu fileMenu = new Menu("File"); //Creating menu Items fileMenu.setMnemonicParsing(true); MenuItem item1 = new MenuItem("Add Files"); MenuItem item2 = new MenuItem("Start Converting"); MenuItem item3 = new MenuItem("Stop Converting"); MenuItem item4 = new MenuItem("Remove File"); MenuItem item5 = new MenuItem("Exit"); //Adding all the menu items to the menu fileMenu.getItems().addAll(item1, item2, item3, item4, item5); //Disabling menu items item2.setDisable(true); item3.setDisable(true); //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); } }
廣告