Archivos e Interfaz de Usuario

El paquete Swing

Introducción al paquete Swing para la creación de interfaces gráficas en Java.

¿Qué es Swing?

Swing es un conjunto de bibliotecas de Java que proporciona una amplia gama de componentes gráficos para crear interfaces de usuario (UI) en aplicaciones Java. Swing es parte del Java Foundation Classes (JFC) y se utiliza para desarrollar aplicaciones de escritorio con interfaces gráficas ricas y personalizables. Swing ofrece una gran variedad de componentes, como botones, etiquetas, cuadros de texto, tablas, menús, y mucho más, que permiten a los desarrolladores crear interfaces de usuario atractivas y funcionales.

Características de Swing

  • Independencia de la plataforma: Swing es completamente independiente de la plataforma, lo que significa que las aplicaciones Swing pueden ejecutarse en cualquier sistema operativo que tenga una máquina virtual Java (JVM) instalada.
  • Componentes personalizables: Swing permite a los desarrolladores personalizar la apariencia y el comportamiento de los componentes gráficos, lo que facilita la creación de interfaces de usuario únicas y adaptadas a las necesidades específicas de la aplicación.
  • Eventos y manejo de eventos: Swing proporciona un sistema de eventos robusto que permite a los desarrolladores manejar las interacciones del usuario de manera eficiente, como clics de botones, movimientos del mouse, y entradas de teclado.
  • Soporte para gráficos: Swing incluye clases para dibujar gráficos personalizados, lo que permite a los desarrolladores crear interfaces de usuario visualmente atractivas y dinámicas.

Componentes básicos de Swing

  • JFrame: Es la ventana principal de una aplicación Swing. Es el contenedor raíz que contiene todos los demás componentes.
  • JPanel: Es un contenedor que se utiliza para organizar otros componentes dentro de un JFrame. Se pueden usar para agrupar componentes relacionados y aplicar diferentes diseños.
  • JButton: Es un botón que el usuario puede hacer clic para realizar una acción.
  • JLabel: Es una etiqueta que se utiliza para mostrar texto o imágenes en la interfaz de usuario.
  • JTextField: Es un campo de texto que permite al usuario ingresar información.
  • JTextArea: Es un área de texto que permite al usuario ingresar o mostrar texto de varias líneas.
  • JComboBox: Es un cuadro combinado que permite al usuario seleccionar una opción de una lista desplegable.
  • JCheckBox: Es una casilla de verificación que permite al usuario seleccionar o deseleccionar una opción.
  • JRadioButton: Es un botón de opción que permite al usuario seleccionar una opción de un grupo de opciones mutuamente excluyentes.

Ejemplo básico de Swing

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class SwingExample {
    public static void main(String[] args) {
        // Crear un JFrame
        JFrame frame = new JFrame("Ejemplo de Swing");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 300);

        // Crear un JPanel
        JPanel panel = new JPanel();

        // Crear un JLabel
        JLabel label = new JLabel("¡Hola, Swing!");

        // Crear un JButton
        JButton button = new JButton("Haz clic aquí");

        // Agregar un ActionListener al botón
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                label.setText("¡Has hecho clic en el botón!");
            }
        });

        // Agregar componentes al panel
        panel.add(label);
        panel.add(button);

        // Agregar el panel al frame
        frame.add(panel);

        // Hacer visible el frame
        frame.setVisible(true);
    }
}

En este ejemplo, se crea una ventana con un botón y una etiqueta. Cuando el usuario hace clic en el botón, el texto de la etiqueta cambia para mostrar un mensaje diferente. Este es un ejemplo básico de cómo usar Swing para crear una interfaz gráfica simple en Java.

Conclusión

Swing es una herramienta poderosa para crear interfaces gráficas en Java, ofreciendo una amplia variedad de componentes y opciones de personalización. Con Swing, los desarrolladores pueden crear aplicaciones de escritorio atractivas y funcionales que se ejecutan en cualquier plataforma compatible con Java. En las próximas secciones, exploraremos más componentes de Swing y cómo utilizarlos para construir interfaces de usuario más complejas y dinámicas.

Copyright Jesús Aurelio Castro Magaña © 2026