Creación de una Aplicación JavaFX con Menús y Eventos

Desarrollar una aplicación JavaFX que incluya una barra de menú con varias opciones, como «Archivo», «Editar» y «Ayuda». Cada menú deberá contener elementos que, al ser seleccionados, ejecuten ciertas acciones, como abrir una alerta o cerrar la aplicación.

Requisitos:

  1. Crear un proyecto Java en Eclipse con el nombre JavaFXMenuApp.
  2. Configurar el proyecto para que soporte JavaFX.
  3. Crear una barra de menú (MenuBar) con los siguientes menús y elementos:
  • Archivo
    • Abrir
    • Guardar
    • Separador
    • Salir
  • Editar
    • Cortar
    • Copiar
    • Pegar
  • Ayuda
    • Acerca de
  1. Implementar manejadores de eventos para los elementos del menú:
  • Salir: Cerrar la aplicación.
  • Acerca de: Mostrar una alerta con información sobre la aplicación.
  1. Crear una interfaz gráfica simple con un diseño de BorderPane.

Solución del Ejercicio

Paso 1: Configuración del Proyecto

  1. Abre Eclipse y crea un nuevo proyecto Java:
  • File > New > Java Project
  • Nombre del proyecto: JavaFXMenuApp
  1. Configura el SDK de JavaFX:
  • Right-click en el proyecto > Properties > Java Build Path > Libraries > Modulepath > Add External JARs
  • Añade los JARs de JavaFX descargados.
  1. Configura el module-info.java:
   module JavaFXMenuApp {
       requires javafx.controls;
       exports com.example.javafxmenuapp;
   }

Paso 2: Estructura del Proyecto

  1. Crea un paquete en tu proyecto, por ejemplo, com.example.javafxmenuapp.
  2. Dentro del paquete, crea una nueva clase llamada Main.

Paso 3: Implementación del Código

package com.example.javafxmenuapp;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.setTitle("JavaFX Menu Application");

        // Crear la barra de menú
        MenuBar menuBar = new MenuBar();

        // Crear menús
        Menu fileMenu = new Menu("Archivo");
        Menu editMenu = new Menu("Editar");
        Menu helpMenu = new Menu("Ayuda");

        // Crear elementos de menú
        MenuItem openItem = new MenuItem("Abrir");
        MenuItem saveItem = new MenuItem("Guardar");
        MenuItem exitItem = new MenuItem("Salir");
        MenuItem cutItem = new MenuItem("Cortar");
        MenuItem copyItem = new MenuItem("Copiar");
        MenuItem pasteItem = new MenuItem("Pegar");
        MenuItem aboutItem = new MenuItem("Acerca de");

        // Añadir elementos al menú "Archivo"
        fileMenu.getItems().addAll(openItem, saveItem, new SeparatorMenuItem(), exitItem);

        // Añadir elementos al menú "Editar"
        editMenu.getItems().addAll(cutItem, copyItem, pasteItem);

        // Añadir elementos al menú "Ayuda"
        helpMenu.getItems().add(aboutItem);

        // Añadir menús a la barra de menú
        menuBar.getMenus().addAll(fileMenu, editMenu, helpMenu);

        // Crear layout principal
        BorderPane root = new BorderPane();
        root.setTop(menuBar);

        // Crear la escena
        Scene scene = new Scene(root, 800, 600);

        // Configurar y mostrar el escenario
        primaryStage.setScene(scene);
        primaryStage.show();

        // Añadir manejadores de eventos
        exitItem.setOnAction(event -> primaryStage.close());
        aboutItem.setOnAction(event -> showAlert());
    }

    private void showAlert() {
        Alert alert = new Alert(Alert.AlertType.INFORMATION);
        alert.setTitle("Acerca de");
        alert.setHeaderText(null);
        alert.setContentText("Esta es una aplicación de ejemplo con JavaFX.");
        alert.showAndWait();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Explicación del Código:

  • Barra de Menú (MenuBar): Se crea una barra de menú que contiene los menús «Archivo», «Editar» y «Ayuda».
  • Menús (Menu): Cada menú contiene varios elementos, como «Abrir», «Guardar», «Salir», «Cortar», «Copiar», «Pegar» y «Acerca de».
  • Elementos del Menú (MenuItem): Se crean y añaden a los menús correspondientes. Por ejemplo, los elementos «Abrir» y «Guardar» se añaden al menú «Archivo».
  • Diseño (BorderPane): Se utiliza un BorderPane para organizar la interfaz. La barra de menú se coloca en la parte superior.
  • Escena (Scene): Se crea una escena con el BorderPane y se establece en el Stage.
  • Manejadores de Eventos: Se añaden manejadores de eventos para los elementos del menú «Salir» y «Acerca de». El manejador del elemento «Salir» cierra la aplicación, mientras que el manejador del elemento «Acerca de» muestra una alerta con información sobre la aplicación.

Con esta solución, habrás creado una aplicación JavaFX que incluye una barra de menú funcional con varios elementos y manejadores de eventos para realizar acciones específicas.

close up photo of programming of codes
Photo by luis gomes on Pexels.com

Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.

Deja un comentario

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

error: Content is protected !!

Descubre más desde InfoGonzalez - Blog de formador e informático

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad