CustomMenuItem es parte de la biblioteca JavaFX. CustomMenuItem permite diferentes tipos de Nodes como elemento de menú. Una de las propiedades útiles de customMenuItem es hideOnClick. Esta propiedad establece si el menú debe ocultarse cuando el usuario hace clic en el elemento del menú o no.
Constructores de CustomMenuItem:
- CustomMenuItem(Node n) : crea un elemento de menú con el Node especificado
- CustomMenuItem (Node n, booleano b) : crea un elemento de menú con el Node y oculta al hacer clic en la propiedad especificada
Métodos comúnmente utilizados:
método | explicación |
---|---|
obtener el contenido() | obtiene el valor del contenido de la propiedad |
esOcultarAlHacerClic() | obtiene el valor de la propiedad hideOnClick |
setHideOnClick(booleano v) | establece el valor de la propiedad hideOnClick |
setContent(Node v) | establece el Node como el contenido del elemento del menú |
Los siguientes programas ilustrarán el uso de CustomMenuItem:
- Programa para crear un elemento de menú personalizado y agregarlo al menú: Este programa crea una barra de menú indicada por el nombre barra de menú. Se creará un menú con el nombre my 3 elementos de menú personalizados menuitem_1, menuitem_2, menuitem_3 se agregarán al menú y el menú se agregará a la barra de menú. La barra de menú se creará dentro de una escena, que a su vez se alojará dentro de un escenario. La función setTitle() se utiliza para proporcionar un título al escenario. Luego se crea un VBox, en el que se llama al método addChildren() para adjuntar la barra de menú dentro de la escena. Finalmente, se llama al método show() para mostrar los resultados finales. Los elementos de menú personalizados contendrán un botón, una etiqueta y una casilla de verificación.
Java
// Program to create a custom menu items and add it to the menu import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.collections.*; import javafx.stage.Stage; import javafx.scene.text.Text.*; import javafx.scene.paint.*; import javafx.scene.text.*; public class CustomMenuItem_1 extends Application { // Launch the application public void start(Stage stage) { // Set title for the stage stage.setTitle("creating CustomMenuItem "); // Create a tile pane TilePane r = new TilePane(); // Create a label Label description_label = new Label("This is a CustomMenuItem example "); // Create a menu Menu menu = new Menu("Menu"); // Create menuitems CustomMenuItem menuitem_1 = new CustomMenuItem(new Button("MenuItem 1")); CustomMenuItem menuitem_2 = new CustomMenuItem(new Label("MenuItem 2")); CustomMenuItem menuitem_3 = new CustomMenuItem(new CheckBox("MenuItem 3")); // Add menu items to menu menu.getItems().add(menuitem_1); menu.getItems().add(menuitem_2); menu.getItems().add(menuitem_3); // Create a menubar MenuBar menubar = new MenuBar(); // Add menu to menubar menubar.getMenus().add(menu); // Create a VBox VBox vbox = new VBox(menubar); // Create a scene Scene scene = new Scene(vbox, 200, 200); // Set the scene stage.setScene(scene); stage.show(); } public static void main(String args[]) { // Launch the application launch(args); } }
- Producción:
- Programa para crear elementos de menú personalizados y agregarlo al menú y usar la propiedad ocultar al hacer clic: Este programa crea una barra de menú indicada por el nombre barra de menú. Se creará un menú con el nombre my 4 elementos de menú personalizados menuitem_1, menuitem_2, menuitem_3, menuitem_4 se agregarán al menú y el menú se agregará a la barra de menú. La barra de menú se creará dentro de una escena, que a su vez se alojará dentro de un escenario. La función setTitle() se utiliza para proporcionar un título al escenario. Luego se crea un VBox, en el que se llama al método addChildren() para adjuntar la barra de menú dentro de la escena. Finalmente, se llama al método show() para mostrar los resultados finales. CustonMenuItems contendrá un botón, un control deslizante, una casilla de verificación y una casilla de elección. La propiedad ocultar al hacer clic de menuitems_2 y menuitems_4 personalizados se establecerá en falso y de menuitem_1 y menuitems_3 se establecerá en verdadero. Al hacer clic en menuitem_2 y menuitem_4 no desaparecerán al hacer clic.
Java
// Program to create custom menu items and // Add it to the menu and use the property hide on click import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.collections.*; import javafx.stage.Stage; import javafx.scene.text.Text.*; import javafx.scene.paint.*; import javafx.scene.text.*; public class CustomMenuItem_2 extends Application { // Launch the application public void start(Stage stage) { // Set title for the stage stage.setTitle("creating CustomMenuItem "); // Create a tile pane TilePane r = new TilePane(); // Create a label Label description_label = new Label("This is a CustomMenuItem example "); // Create a menu Menu menu = new Menu("Menu"); // Create menuitems CustomMenuItem menuitem_1 = new CustomMenuItem(new Button("MenuItem 1")); CustomMenuItem menuitem_2 = new CustomMenuItem(new Slider()); CustomMenuItem menuitem_3 = new CustomMenuItem(new CheckBox("MenuItem 3")); CustomMenuItem menuitem_4 = new CustomMenuItem(new ChoiceBox(FXCollections .observableArrayList("choice 1", "choice 2", "choice 3"))); // Cet hide on click property menuitem_2.setHideOnClick(false); menuitem_4.setHideOnClick(false); menuitem_1.setHideOnClick(true); menuitem_3.setHideOnClick(true); // Add menu items to menu menu.getItems().add(menuitem_1); menu.getItems().add(menuitem_2); menu.getItems().add(menuitem_3); menu.getItems().add(menuitem_4); // Create a menubar MenuBar menubar = new MenuBar(); // Add menu to menubar menubar.getMenus().add(menu); // Create a VBox VBox vbox = new VBox(menubar); // Create a scene Scene scene = new Scene(vbox, 200, 200); // Cet the scene stage.setScene(scene); stage.show(); } public static void main(String args[]) { // Launch the application launch(args); } }
- Producción:
Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea; use un compilador fuera de línea.
Referencia: https://docs.oracle.com/javafx/2/api/javafx/scene/control/CustomMenuItem.html
Publicación traducida automáticamente
Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA