Swing es un paquete o librería de Java que sirve para crear aplicaciones gráficas que permiten la interacción con el usuario. Está disponible desde la versión 1.2 de Java.
Incluye todos los recursos necesarios para construir interfaces gráficas, algunos de estos los ha heredado de su predecesor AWT, pero adiciona cosas nuevas, que corrigen algunas dificultades que se presentaban con anterioridad.
Su uso puede resultar complejo, pero su gran ventaja es que el código desarrollado tiene la posibilidad de ejecutarse en cualquier sistema operativo, manteniendo la portabilidad que es una característica que Java continúa ofreciendo a sus usuarios.
Para poder usar Swing es necesario importar el paquete javax.swing, que tiene clases como JMenu, JRadioButton, JCheckbox, JButton, JTextField, etc. que le otorgan funcionalidad a las aplicaciones que se programen con esta librería.
Las ventanas son el elemento fundamental en el trabajo con Swing y tienen ciertas características como:
El siguiente código no es sino una breve demostración de lo que puede hacerse con Swing:
import java.awt.Color;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Font;
class Interfaz {
public static void main(String args[]) {
JFrame frame = new JFrame("Mi Ventana"); // crea una instancia de la clase frame
frame.setBackground(new Color(0, 64, 128));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // se da indicaciones sobre la reacción al cerrar la ventana
frame.setSize(600, 600); //con este método se le dan las dimensiones a la ventana
JButton button = new JButton("Pulsa aquí"); //Se crea un botón con texto
button.setFont(new Font("Arial", Font.PLAIN, 11));
button.setBounds(20, 30, 30, 30); //se da ubicación al botón creado
button.setForeground(Color.BLUE); //da color al texto del boton
button.setBackground(Color.white); //cambia de color el fondo
frame.getContentPane().add(button, BorderLayout.NORTH); //muestra el botón en la ventana
frame.setVisible(true); //necesario para que la ventana sea visible
}
}
Al ejecutar este código en cualquier editor, tendremos una ventana con un botón en la parte superior, que no tiene aún una acción asociada, pero sirve bien a manera de ejercicio ilustrativo sobre el funcionamiento de algunos de los componentes y métodos disponibles en la librería Swing.
Ahora bien, una característica que hace sumamente atractivo el trabajo con esto, es el hecho de que se puede trabajar desde una vista de diseño que facilita la tarea de hacer interfaces gráficas.
Algunos de los componentes que se pueden usar en Swing para diseñar interfaces gráficas son:
Componente | Descripción |
---|---|
JFrame | Sirve para crear una ventana |
JButton | Crea un botón |
JCheckBox | Crea un botón de comprobación |
JRadioButton | Botón excluyente para seleccionar una opción |
JTable | Permite crear una tabla |
JLista | Crea una lista |
JMenuBar | Usado para crear menú |
JPasswordField | Campo para la entrada de una contraseña |
JToolBar | Permite crear barras de herramientas |
Existen más componentes, además de los incluidos en esta lista, y cada uno de ellos tiene una serie de métodos que modifican su comportamiento y su apariencia, brindando la posibilidad de diseñar interfaces gráficas atractivas y funcionales.