Desarrollo de una Interfaz Gráfica en JavaFX para una Tienda de Gafas: Proveedores y Clientes

JavaFX es una herramienta robusta para el desarrollo de interfaces de usuario en aplicaciones Java. Proporciona un conjunto rico de controles de UI, animaciones, y efectos que permiten construir interfaces atractivas y funcionales. En este artículo, exploraremos un ejemplo práctico de cómo desarrollar una interfaz gráfica para una tienda de gafas que gestiona tanto proveedores como clientes utilizando JavaFX.

Requisitos del Ejercicio

La aplicación debe permitir:

  1. Gestión de Proveedores:
  • Agregar, eliminar y mostrar proveedores.
  • Visualizar detalles de cada proveedor seleccionado.
  1. Gestión de Clientes:
  • Agregar, eliminar y cargar clientes.
  • Visualizar detalles de cada cliente seleccionado.
  1. Interfaz Amigable:
  • Debe ser clara y fácil de usar.
  • Debe tener secciones claramente definidas para clientes y proveedores.

Estructura de la Aplicación

La aplicación se divide en varias partes principales:

  1. Menú Principal:
  • Opciones para navegar entre la gestión de proveedores y clientes.
  1. Panel de Proveedores:
  • Lista de proveedores y botones para agregar, eliminar y mostrar detalles.
  1. Panel de Clientes:
  • Lista de clientes y botones para agregar, eliminar y cargar información.

Ejemplo de Código JavaFX

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

public class TiendaGafas extends Application {

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Sistema de Gestión - Tienda de Gafas");

        // Menús
        MenuBar menuBar = new MenuBar();
        Menu menuArchivo = new Menu("Archivo");
        Menu menuGestion = new Menu("Gestión");
        MenuItem exitItem = new MenuItem("Salir");
        MenuItem gestionProveedores = new MenuItem("Proveedores");
        MenuItem gestionClientes = new MenuItem("Clientes");

        menuArchivo.getItems().add(exitItem);
        menuGestion.getItems().addAll(gestionProveedores, gestionClientes);
        menuBar.getMenus().addAll(menuArchivo, menuGestion);

        // Paneles
        BorderPane root = new BorderPane();
        TabPane tabPane = new TabPane();

        Tab tabProveedores = new Tab("Proveedores");
        VBox panelProveedores = createProviderPanel();
        tabProveedores.setContent(panelProveedores);
        tabProveedores.setClosable(false);

        Tab tabClientes = new Tab("Clientes");
        VBox panelClientes = createCustomerPanel();
        tabClientes.setContent(panelClientes);
        tabClientes.setClosable(false);

        tabPane.getTabs().addAll(tabProveedores, tabClientes);

        root.setTop(menuBar);
        root.setCenter(tabPane);

        // Acciones
        gestionProveedores.setOnAction(e -> tabPane.getSelectionModel().select(tabProveedores));
        gestionClientes.setOnAction(e -> tabPane.getSelectionModel().select(tabClientes));
        exitItem.setOnAction(e -> primaryStage.close());

        // Escena
        Scene scene = new Scene(root, 800, 600);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    private VBox createProviderPanel() {
        VBox vbox = new VBox(10);
        Label label = new Label("Lista de Proveedores");
        ListView<String> listView = new ListView<>();
        listView.getItems().addAll("Proveedor 1", "Proveedor 2", "Proveedor 3");
        Button addButton = new Button("Agregar Proveedor");
        Button deleteButton = new Button("Eliminar Proveedor");
        vbox.getChildren().addAll(label, listView, addButton, deleteButton);
        return vbox;
    }

    private VBox createCustomerPanel() {
        VBox vbox = new VBox(10);
        Label label = new Label("Lista de Clientes");
        ListView<String> listView = new ListView<>();
        listView.getItems().addAll("Cliente 1", "Cliente 2", "Cliente 3");
        Button addButton = new Button("Agregar Cliente");
        Button deleteButton = new Button("Eliminar Cliente");
        vbox.getChildren().addAll(label, listView, addButton, deleteButton);
        return vbox;
    }

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

Descripción del Código

  1. Interfaz Principal:
  • La ventana principal muestra un menú con opciones para gestionar proveedores y clientes y un TabPane que contiene dos pestañas: una para proveedores y otra para clientes.
  1. Menú de Navegación:
  • El menú permite al usuario cerrar la aplicación o cambiar entre las vistas de gestión de proveedores y clientes.
  1. Paneles de Gestión:
  • Cada pestaña contiene una lista de proveedores o clientes y botones para realizar acciones específicas como agregar o eliminar.

Conclusión

Este ejemplo ilustra cómo se puede construir una interfaz de usuario en JavaFX para una tienda de gafas, permitiendo una gestión efectiva de proveedores y clientes. Utilizando JavaFX, los desarrolladores pueden crear aplicaciones ricas en características con interfaces gráficas claras y efectivas. Este tipo de desarrollo es ideal para aplicaciones de gestión empresarial donde la usabilidad y la organización son cruciales.

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