Introducción al menú JavaFX

En el menú JavaFX, el menú se utiliza como una ventana emergente que consta de muchos elementos de menú que se muestran cuando el usuario hace clic en él. Después de eso, los elementos del menú pasan a un estado oculto. Para crear esto, cree una instancia de la clase javafx.scene.control.Menu. La sintaxis, los constructores y varios otros aspectos del menú JavaFX se analizarán en las siguientes secciones.

Sintaxis:

En JavaFX, el menú se puede crear de la siguiente manera.

Menu mn = new Menu();

Siempre asegúrese de que la clase javafx.scene.chart.Menu se importe al programa antes de ejecutar el código.

Constructores de menú JavaFX

Hay cuatro constructores para el menú JavaFX. Son:

  • Menú (): se creará un menú vacío.
  • Menú (Cadena s): se creará un menú con la cadena s como su etiqueta.
  • Menú (String s, Node nd): se creará un menú con la cadena s como etiqueta y nd como nodo de gráficos.
  • Menú (Cadena s, Nodo nd, Elemento ….. i): se creará un menú con la cadena s como etiqueta y como nodo gráfico y agregará los elementos dados a la lista.

Métodos del menú JavaFX

Hay algunos métodos de menú JavaFX que se analizan a continuación:

  • getItems (): elementos que se mostrarán en este menú.
  • getOnHidden (): se devolverá el valor de la propiedad onHidden.
  • getOnShowing (): se devolverá el valor de la propiedad onShowing.
  • getOnHiding (): se devolverá el valor de la propiedad onHiding.
  • getOnShown (): se devolverá el valor de la propiedad onShown.
  • setOnHidden (EventHandler v): se establecerá el valor de la propiedad onHidden v.
  • setOnHiding (EventHandler v): se establecerá el valor de la propiedad onHiding v.
  • setOnShowing (EventHandler v): se establecerá el valor de la propiedad onShowing v.
  • setOnShown (EventHandler v): se establecerá el valor de la propiedad onShown v.
  • hide (): si se muestran contextMenu o sus submenús, se llamará a este método para ocultarlo.
  • isShowing (): se mostrará el valor de la propiedad que se muestra.
  • onHiddenProperty (): una vez que se oculta contextMenu, se llamará a este método.
  • onShowingProperty (); Antes de que se muestre contextMenu, se llamará a este método incluso si no tiene elementos para mostrar.
  • onHidingProperty (): antes de que se oculte contextMenu, se llamará a este método.
  • onShownProperty (): una vez que se muestre contextMenu, se llamará a este método.
  • addEventHandler (EventType et, EventHandler e): un controlador de eventos e se registrará en el elemento del menú.
  • removeEventHandler (EventType et, EventHandler e): un controlador de eventos e que esté registrado no se registrará en el elemento del menú.
  • buildEventDispatchChain (EventDispatchChaint): se construirá una cadena de envío de eventos t para el objetivo.
  • shownProperty (): para comprobar si contextMenu es visible, se llamará a este método.

¿Cómo crear un menú en JavaFX?

El menú JavaFX se puede crear utilizando los siguientes pasos.

Paso 1: Cree una clase que se extienda desde la clase de aplicación.

Importe el paquete javafx.application.Application para extender la clase Application y cree una clase que lo extienda.

public class JavaFXChartsExample extends Application (
)

Paso 2: crea el menú.

Como ya se discutió, cree un menú usando la sintaxis.

Menu m = new Menu();

Paso 3: Crear elementos del menú.

Crear elementos de menú Elementos de menú que deben agregarse al menú que debe crearse.

MenuItem mi1 = new MenuItem("Happy");

Paso 4: crea una barra de menú.

MenuBar mb = new MenuBar();

Paso 5: Agregar barra de menú.

Agregue la barra de menú creada.

mb.getMenus().add(mn);

Paso 6: Configurar grupo y escena.

Se debe configurar un grupo y una escena después de realizar los pasos anteriores.

VBox vb = new VBox(mb);
Scene sc = new Scene(vb, 400, 200);
s.setScene(sc);
s.show();

Ejemplos para implementar el menú JavaFX

Veamos algunos programas JavaFX diferentes para implementar el menú JavaFX.

Ejemplo 1

En este ejemplo, veremos un programa java con elementos de menú para construir un menú.

Código:

//java program to create a menu with menu items
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.event.EventHandler;
import javafx.scene.control.*;
import javafx.stage.Stage;
import javafx.scene.control.Alert.AlertType;
import java.time.LocalDate;
import javafx.scene.control.Button;
import javafx.scene.layout.*;
import javafx.event.ActionEvent;
//sample class that extends application class
public class JavaFXMenuExample extends Application (
// application starts at this point
public void start(Stage s)
(
// Title for the stage
s.setTitle("Sample menu bar");
// menu creation
Menu mn = new Menu("Select your favourite online shopping site");
// menu items creation
MenuItem mi1 = new MenuItem("Flipkart");
MenuItem mi2 = new MenuItem("Myntra");
MenuItem mi3 = new MenuItem("Amazon");
MenuItem mi4 = new MenuItem("Club factory");
// Adding menu items
mn.getItems().add(mi1);
mn.getItems().add(mi2);
mn.getItems().add(mi3);
mn.getItems().add(mi4);
// menubar creation
MenuBar mb = new MenuBar();
// Adding Menubar
mb.getMenus().add(mn);
// VBox creation
VBox v = new VBox(mb);
// scene creation
Scene scn = new Scene(v, 500, 300);
// set the scene
s.setScene(scn);
//display the result
s.show();
)
public static void main(String args())
(
// launch the application
launch(args);
)
)

Salida:

Se mostrará un menú como se muestra arriba. Cuando se hace clic, se muestra una lista de elementos.

Ejemplo # 2

Este es un programa de Java para crear un menú con elementos de menú y sus subelementos.

Código:

//java program to create menu with menu items and its sub items
import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Scene;
import javafx.scene.control.CheckMenuItem;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.control.MenuItem;
import javafx.scene.control.RadioMenuItem;
import javafx.scene.control.SeparatorMenuItem;
import javafx.scene.control.ToggleGroup;
public class JavaFXMenuExample extends Application (
@Override
public void start(Stage s) (
//create border pane
BorderPane r = new BorderPane();
Scene scene = new Scene(r, 300, 250, Color.RED);
//create menubar
MenuBar mb = new MenuBar();
mb.prefWidthProperty().bind(s.widthProperty());
r.setTop(mb);
// first menu with sub items
Menu m = new Menu("Select your Age group");
MenuItem mi1 = new MenuItem("18-24");
MenuItem mi2 = new MenuItem("25-35");
MenuItem mi3 = new MenuItem("36-50");
m.getItems().addAll(mi1, mi2, mi3);
// second menu with sub items
Menu m1 = new Menu("Favorite online site");
ToggleGroup t1 = new ToggleGroup();
RadioMenuItem r1 = new RadioMenuItem("Flipkart");
r1.setToggleGroup(t1);
RadioMenuItem r2 = new RadioMenuItem("Myntra");
r2.setToggleGroup(t1);
r2.setSelected(true);
m1.getItems().addAll(r1, r2);
Menu m2 = new Menu("Queries");
m2.getItems().addAll( new CheckMenuItem("Related to product"),
new CheckMenuItem("Related to delivery"));
m1.getItems().add(m2);
mb.getMenus().addAll(m, m1);
s.setScene(scene);
s.show();
)
public static void main(String() args) (
launch(args);
)
)

Salida:

Se mostrarán dos menús con diferentes subelementos al ejecutar el código. Cuando se hace clic en el segundo menú, se mostrarán subelementos como Flipkart, Myntra y Consultas.

Se puede ver que hay una marca cerca de Myntra ya que el método setSelected se establece como True.

Cuando se hace clic en el menú Consultas, se muestran dos subelementos como 'Relacionado con el producto' y 'Relacionado con la entrega'.

Conclusión

En JavaFX, el menú se usa como una ventana emergente que se muestra cuando un usuario hace clic en él. El menú consta de elementos de menú y sus subelementos. En este documento, se discuten puntos importantes en el menú JavaFX.

Artículos recomendados

Esta es una guía para el menú JavaFX. Aquí discutimos la sintaxis, los constructores, los métodos y los pasos para crear el menú JavaFX junto con ejemplos e implementación de código. También puede consultar los siguientes artículos para obtener más información.

  1. Función de hash en Java
  2. Matrices en programación Java
  3. JLabel en Java
  4. Diseños JavaFX
  5. ¿Cómo funciona la función hash en php con sintaxis?
  6. Los 15 métodos principales de JavaFX VBox