CheckMenuItem es parte de la biblioteca JavaFX. CheckMenuItem se puede agregar a un menú y tiene dos estados seleccionado y no seleccionado. El usuario puede alternar los elementos del menú entre estos dos estados. CheckMenuItem hereda de la clase MenuItem.
Los constructores de la clase son:
- CheckMenuItem(String t) : crea un checkmenuitem con el texto especificado
- CheckMenuItem (String t, Node g) : crea un elemento de menú de verificación con el texto y el gráfico especificados
Métodos comúnmente utilizados:
método | explicación |
---|---|
esSeleccionado() | devuelve si el elemento del menú está seleccionado o no |
propiedad seleccionada() | Representa el estado actual de este CheckMenuItem |
setSelected(booleano v) | establece el valor de la propiedad seleccionada |
Los siguientes programas ilustran la clase CheckMenuItem de JavaFX:
- Programa Java para crear una barra de menú y agregarle un menú y también agregar checkmenuitems al menú: Este programa crea una barra de menú indicada por el nombre menu_bar. Se creará un menú por nombre de menú y se agregarán 3 checkmenuitems menuitem1, menuitem2, menuitem3 al menú y el menú se agregará a la barra de menú menu_bar. 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 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.
// 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);
}
}
Producción:
- Programa Java para crear una barra de menú y agregarle un menú y también agregar checkmenuitems al menú y también agregar un controlador de eventos para manejar los eventos:Este programa crea una barra de menú indicada por el nombre menu_bar. Se creará un menú por nombre de menú y se agregarán 3 checkmenuitems menuitem1, menuitem2, menuitem3 al menú y el menú se agregará a la barra de menú menu_bar. 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 usa para dar 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. También se creará una etiqueta que mostrará qué elemento del menú de verificación está seleccionado. Se creará un evento de acción para procesar la acción cuando el usuario haga clic en el elemento del menú de verificación.
// 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);
}
}
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/CheckMenuItem.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