CheckMenuItem是JavaFX庫的一部分。 CheckMenuItem可以添加到菜單中,並且有兩個狀態處於選中狀態和未選中狀態。用戶可以在這兩種狀態之間切換菜單項。 CheckMenuItem繼承自MenuItem類。
該類的構造函數是:
- CheckMenuItem(String t):創建帶有指定文本的檢查菜單
- CheckMenuItem(String t, Node g):創建具有指定文本和圖形的檢查菜單
常用方法:
方法 | 說明 |
---|---|
isSelected() | 返回是否選擇了menuitem |
selectedProperty() | 代表此CheckMenuItem的當前狀態 |
setSelected(boolean v) | 設置所選屬性的值 |
以下示例程序旨在說明JavaFX的CheckMenuItem類:
- 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); } }
輸出:
- 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); } }
輸出:
注意:以上程序可能無法在在線IDE中運行,請使用離線編譯器。
參考:https://docs.oracle.com/javafx/2/api/javafx/scene/control/CheckMenuItem.html
相關用法
- JavaFX 類 Box用法及代碼示例
- JavaFX 類 Arc用法及代碼示例
- JavaFX 類 Cylinder用法及代碼示例
- JavaFX 類 Sphere用法及代碼示例
- JavaFX 類 DatePicker用法及代碼示例
- JavaFX 類 Alert用法及代碼示例
- JavaFX 類 ColorPicker用法及代碼示例
- JavaFX 類 RadioButton用法及代碼示例
- JavaFX 類 ComboBox用法及代碼示例
- JavaFX 類 QuadCurve用法及代碼示例
- JavaFX 類 Button用法及代碼示例
- JavaFX 類 CubicCurve用法及代碼示例
- JavaFX 類 PointLight用法及代碼示例
- JavaFX 類 Ellipse用法及代碼示例
- JavaFX 類 ContextMenu用法及代碼示例
注:本文由純淨天空篩選整理自andrew1234大神的英文原創作品 JavaFX | CheckMenuItem with examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。