當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaFX 類 CheckMenuItem用法及代碼示例


CheckMenuItem是JavaFX庫的一部分。 CheckMenuItem可以添加到菜單中,並且有兩個狀態處於選中狀態和未選中狀態。用戶可以在這兩種狀態之間切換菜單項。 CheckMenuItem繼承自MenuItem類。


該類的構造函數是:

  1. CheckMenuItem(String t):創建帶有指定文本的檢查菜單
  2. CheckMenuItem(String t, Node g):創建具有指定文本和圖形的檢查菜單

常用方法:


方法 說明
isSelected() 返回是否選擇了menuitem
selectedProperty() 代表此CheckMenuItem的當前狀態
setSelected(boolean v) 設置所選屬性的值

以下示例程序旨在說明JavaFX的CheckMenuItem類:

  1. Java程序,用於創建菜單欄並向其中添加菜單,還向菜單添加檢查菜單:該程序將創建一個菜單欄,名稱為menu_bar。將通過名稱菜單創建一個菜單,並將3個檢查菜單menuitem1,menuitem2,menuitem3添加到菜單中,並將該菜單添加到菜單欄menu_bar。菜單欄將在場景內創建,而場景又將托管在舞台內。函數setTitle()用於為舞台提供標題。然後創建一個VBox,在其上調用addChildren()方法以將菜單欄附加到場景中。最後,調用show()方法以顯示最終結果。
    // Java program to create a menu bar and add 
    // menu to it and also add checkmenuitems to menu 
    import javafx.application.Application; 
    import javafx.scene.Scene; 
    import javafx.scene.control.Button; 
    import javafx.scene.layout.*; 
    import javafx.event.ActionEvent; 
    import javafx.event.EventHandler; 
    import javafx.scene.control.*; 
    import javafx.stage.Stage; 
    import javafx.scene.control.Alert.AlertType; 
    import java.time.LocalDate; 
    public class checkmenuitems_0 extends Application { 
      
        // launch the application 
        public void start(Stage stage) 
        { 
            // set title for the stage 
            stage.setTitle("creating check menu items"); 
      
            // create a menu 
            Menu menu = new Menu("Menu"); 
      
            // create menuitems 
            CheckMenuItem menuitem1 = new CheckMenuItem("menu item 1"); 
            CheckMenuItem menuitem2 = new CheckMenuItem("menu item 2"); 
            CheckMenuItem menuitem3 = new CheckMenuItem("menu item 3"); 
      
            // add menu items to menu 
            menu.getItems().add(menuitem1); 
            menu.getItems().add(menuitem2); 
            menu.getItems().add(menuitem3); 
      
            // create a menubar 
            MenuBar menu_bar = new MenuBar(); 
      
            // add menu to menubar 
            menu_bar.getMenus().add(menu); 
      
            // create a VBox 
            VBox vbox = new VBox(menu_bar); 
      
            // create a scene 
            Scene scene = new Scene(vbox, 500, 300); 
      
            // set the scene 
            stage.setScene(scene); 
      
            stage.show(); 
        } 
      
        public static void main(String args[]) 
        { 
            // launch the application 
            launch(args); 
        } 
    }

    輸出:

  2. Java程序,用於創建菜單欄並向其中添加菜單,還向菜單添加檢查菜單,還添加事件處理程序來處理事件:該程序將創建一個菜單欄,名稱為menu_bar。將通過名稱菜單創建一個菜單,並將3個檢查菜單menuitem1,menuitem2,menuitem3添加到菜單中,並將該菜單添加到菜單欄menu_bar。菜單欄將在場景內創建,而場景又將托管在舞台內。函數setTitle()用於為舞台提供標題。然後創建一個VBox,在其上調用addChildren()方法以將菜單欄附加到場景中。最後,調用show()方法以顯示最終結果。也將創建一個標簽,其中將顯示選擇了哪個檢查菜單。當用戶單擊檢查菜單項時,將創建一個動作事件來處理該動作。
    // Java program to create a menu bar and add 
    // menu to it and also add checkmenuitems to menu 
    // and also add event handler to handle the events 
    import javafx.application.Application; 
    import javafx.scene.Scene; 
    import javafx.scene.control.Button; 
    import javafx.scene.layout.*; 
    import javafx.event.ActionEvent; 
    import javafx.event.EventHandler; 
    import javafx.scene.control.*; 
    import javafx.stage.Stage; 
    import javafx.scene.control.Alert.AlertType; 
    import java.time.LocalDate; 
    public class checkmenuitems_2 extends Application { 
      
        // launch the application 
        public void start(Stage stage) 
        { 
            // set title for the stage 
            stage.setTitle("creating check menu items"); 
      
            // create a menu 
            Menu menu = new Menu("Menu"); 
      
            // create menuitems 
            CheckMenuItem menuitem1 = new CheckMenuItem("menu item 1"); 
            CheckMenuItem menuitem2 = new CheckMenuItem("menu item 2"); 
            CheckMenuItem menuitem3 = new CheckMenuItem("menu item 3"); 
      
            // add menu items to menu 
            menu.getItems().add(menuitem1); 
            menu.getItems().add(menuitem2); 
            menu.getItems().add(menuitem3); 
      
            // label to display events 
            Label description = new Label("\t\t\t\t"
                                          + "no menu item selected"); 
      
            // create events for menu items 
            // action event 
            EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() { 
                public void handle(ActionEvent e) 
                { 
                    if (((CheckMenuItem)e.getSource()).isSelected()) 
                        description.setText 
                         ("\t\t\t\t" + ((CheckMenuItem)e.getSource()) 
                           .getText() + " selected"); 
                    else
                        description.setText 
                         ("\t\t\t\t" + ((CheckMenuItem)e.getSource()) 
                           .getText() + " deselected"); 
                } 
            }; 
      
            // add event 
            menuitem1.setOnAction(event); 
            menuitem2.setOnAction(event); 
            menuitem3.setOnAction(event); 
      
            // create a menubar 
            MenuBar menu_bar = new MenuBar(); 
      
            // add menu to menubar 
            menu_bar.getMenus().add(menu); 
      
            // create a VBox 
            VBox vbox = new VBox(menu_bar, description); 
      
            // create a scene 
            Scene scene = new Scene(vbox, 500, 300); 
      
            // set the scene 
            stage.setScene(scene); 
      
            stage.show(); 
        } 
      
        public static void main(String args[]) 
        { 
            // launch the application 
            launch(args); 
        } 
    }

    輸出:

  3. 注意:以上程序可能無法在在線IDE中運行,請使用離線編譯器。

    參考:https://docs.oracle.com/javafx/2/api/javafx/scene/control/CheckMenuItem.html



相關用法


注:本文由純淨天空篩選整理自andrew1234大神的英文原創作品 JavaFX | CheckMenuItem with examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。