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:
- Crear un proyecto Java en Eclipse con el nombre
JavaFXMenuApp
. - Configurar el proyecto para que soporte JavaFX.
- 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
- 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.
- Crear una interfaz gráfica simple con un diseño de
BorderPane
.
Solución del Ejercicio
Paso 1: Configuración del Proyecto
- Abre Eclipse y crea un nuevo proyecto Java:
- File > New > Java Project
- Nombre del proyecto:
JavaFXMenuApp
- 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.
- Configura el
module-info.java
:
module JavaFXMenuApp {
requires javafx.controls;
exports com.example.javafxmenuapp;
}
Paso 2: Estructura del Proyecto
- Crea un paquete en tu proyecto, por ejemplo,
com.example.javafxmenuapp
. - 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 unBorderPane
para organizar la interfaz. La barra de menú se coloca en la parte superior. - Escena (
Scene
): Se crea una escena con elBorderPane
y se establece en elStage
. - 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.