Skip to content

Introducción a Java y Java Swing

Módulo 1: Introducción a Java y Java Swing

Section titled “Módulo 1: Introducción a Java y Java Swing”

Java es un lenguaje de programación de alto nivel, orientado a objetos, que fue desarrollado por Sun Microsystems (ahora propiedad de Oracle) en la década de 1990. Se ha convertido en uno de los lenguajes más populares del mundo debido a su versatilidad y amplia adopción en diversos sectores.

  • Orientado a objetos: Todo en Java es un objeto, lo que facilita la modularidad y reutilización del código.
  • Independiente de la plataforma: El bytecode Java puede ejecutarse en cualquier dispositivo con JVM.
  • Seguro: Proporciona un entorno de ejecución con múltiples capas de seguridad.
  • Robusto: Gestión automática de memoria, verificación estricta de tipos y manejo de excepciones.
  • Multihilo: Soporte nativo para programación concurrente.
  • Distribuido: Diseñado con capacidades de red integradas.

El proceso de ejecución de un programa Java sigue estos pasos:

  1. Escritura del código fuente: El desarrollador escribe el código en archivos con extensión .java

  2. Compilación: El compilador de Java (javac) convierte el código fuente en bytecode, generando archivos .class

  3. Ejecución: La JVM carga, verifica y ejecuta el bytecode

+----------------+ +----------------+ +----------------+
| | | | | |
| Código fuente |---->| Bytecode |---->| Ejecución en |
| (.java) | | (.class) | | JVM |
| | | | | |
+----------------+ +----------------+ +----------------+
| | |
v v v
Escrito por el Generado por el Interpretado por la
programador compilador JVM específica del SO

Instalación del JDK y entorno (NetBeans o IntelliJ)

Section titled “Instalación del JDK y entorno (NetBeans o IntelliJ)”

Instalación del JDK (Java Development Kit)

Section titled “Instalación del JDK (Java Development Kit)”

El JDK es esencial para desarrollar aplicaciones Java, ya que incluye el compilador, herramientas de desarrollo y la JVM.

  1. Descargar el JDK: Visita Oracle JDK o OpenJDK para obtener la versión más reciente

  2. Instalar el JDK: Ejecuta el instalador y sigue las instrucciones

  3. Configurar variables de entorno:

    • JAVA_HOME: Ruta al directorio de instalación del JDK
    • PATH: Añadir %JAVA_HOME%\bin (Windows) o $JAVA_HOME/bin (Unix/Linux)
  4. Verificar la instalación: Abre una terminal y ejecuta java -version y javac -version

Un IDE (Entorno de Desarrollo Integrado) facilita enormemente el desarrollo en Java.

  1. Descarga NetBeans desde netbeans.apache.org
  2. Ejecuta el instalador y sigue las instrucciones
  3. Durante la instalación, asegúrate de que detecte correctamente el JDK instalado
  4. Una vez instalado, puedes crear un nuevo proyecto Java desde File > New Project

Crear un programa “Hola Mundo” es el primer paso tradicional al aprender un nuevo lenguaje de programación.

HolaMundo.java
public class HolaMundo {
public static void main(String[] args) {
System.out.println("¡Hola, mundo!");
}
}
  • public class HolaMundo: Define una clase pública llamada HolaMundo
  • public static void main(String[] args): El método principal que se ejecuta al iniciar el programa
    • public: Accesible desde cualquier parte
    • static: Pertenece a la clase, no a una instancia
    • void: No devuelve ningún valor
    • main: Nombre del método (punto de entrada)
    • String[] args: Array de argumentos pasados por línea de comandos
  • System.out.println("¡Hola, mundo!"): Imprime el texto en la consola
Terminal window
# Compilar el programa
javac HolaMundo.java
# Ejecutar el programa
java HolaMundo

Java Swing es una biblioteca gráfica para crear interfaces de usuario (GUI) en aplicaciones Java. Forma parte del Java Foundation Classes (JFC) y proporciona componentes más sofisticados y flexibles que su predecesor, el Abstract Window Toolkit (AWT).

  • Componentes ligeros (lightweight): Dibujados por Java, no por el sistema operativo
  • Look and Feel personalizable: Permite cambiar la apariencia de la aplicación
  • Arquitectura MVC (Modelo-Vista-Controlador): Separa la lógica de la presentación
  • Amplia variedad de componentes: Botones, tablas, árboles, pestañas, etc.
  • Gestores de diseño (layout managers): Para organizar componentes de forma flexible
  • Manejo de eventos: Sistema robusto para responder a acciones del usuario
Object
└── Component (AWT)
└── Container
└── Window
└── Frame
└── JFrame (Swing)
Componentes comunes
ComponenteDescripción
JFrameVentana principal de la aplicación
JPanelContenedor para organizar componentes
JButtonBotón que puede ser presionado
JLabelMuestra texto o imágenes
JTextFieldCampo para entrada de texto
JComboBoxLista desplegable
JTableMuestra datos en formato tabular
JScrollPaneAgrega barras de desplazamiento

AWT (Abstract Window Toolkit) fue la primera biblioteca GUI para Java, mientras que Swing es su sucesor mejorado.

CaracterísticaAWTSwing
Tipo de componentesPesados (dependen del SO)Ligeros (independientes del SO)
RendimientoMás rápido en sistemas antiguosOptimizado para sistemas modernos
AparienciaNativa del SOPersonalizable (Look and Feel)
Prefijo de clasesSin prefijo específicoComienzan con “J” (JButton, JFrame)
Componentes disponiblesLimitadosExtensos y avanzados
ArquitecturaSimpleMVC (Modelo-Vista-Controlador)
Doble bufferNo soportadoSoportado (evita parpadeo)
PersonalizaciónLimitadaAltamente personalizable

Estructura básica de una ventana (JFrame)

Section titled “Estructura básica de una ventana (JFrame)”

JFrame es el componente principal para crear ventanas en Swing. Sirve como contenedor de alto nivel para otros componentes.

VentanaBasica.java
import javax.swing.*;
import java.awt.*;
public class VentanaBasica extends JFrame {
public VentanaBasica() {
// Configuración de la ventana
setTitle("Mi Primera Ventana");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null); // Centra la ventana
// Crear componentes
JLabel etiqueta = new JLabel("¡Bienvenido a Java Swing!");
etiqueta.setHorizontalAlignment(JLabel.CENTER);
etiqueta.setFont(new Font("Arial", Font.BOLD, 18));
JButton boton = new JButton("Haz clic aquí");
// Crear panel para organizar componentes
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.add(etiqueta, BorderLayout.CENTER);
panel.add(boton, BorderLayout.SOUTH);
// Agregar panel a la ventana
add(panel);
// Hacer visible la ventana
setVisible(true);
}
public static void main(String[] args) {
// Ejecutar la aplicación en el EDT (Event Dispatch Thread)
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new VentanaBasica();
}
});
}
}
  1. Importaciones necesarias:

    • javax.swing.*: Para componentes Swing
    • java.awt.*: Para layouts y otros elementos AWT que Swing utiliza
  2. Configuración básica:

    • setTitle(): Establece el título de la ventana
    • setSize(): Define el tamaño inicial (ancho, alto)
    • setDefaultCloseOperation(): Comportamiento al cerrar (EXIT_ON_CLOSE cierra la aplicación)
    • setLocationRelativeTo(null): Centra la ventana en la pantalla
  3. Agregar componentes:

    • Crear los componentes (JLabel, JButton, etc.)
    • Organizarlos usando paneles y layouts
    • Añadirlos a la ventana con add()
  4. Hacer visible la ventana:

    • setVisible(true): Muestra la ventana en pantalla
  5. Event Dispatch Thread:

    • SwingUtilities.invokeLater(): Asegura que la interfaz se cree en el hilo adecuado
  1. Inicialización: Configuración de la ventana y componentes
  2. Visualización: Mostrar la interfaz al usuario
  3. Manejo de eventos: Responder a las acciones del usuario
  4. Actualización de la interfaz: Reflejar cambios en el estado de la aplicación
  5. Cierre: Liberar recursos y terminar la aplicación
🐝