Prog Eventos Netbeans
Prog Eventos Netbeans
Objetivo: Comprender los conceptos básicos de las aplicaciones gráficas en Java y el entorno
de desarrollo NetBeans.
Qué es una aplicación gráfica.
Ventajas de las aplicaciones gráficas sobre las aplicaciones de consola.
Introducción a Swing y sus componentes básicos (JFrame, JButton, JLabel, JTextField,
etc.).
Introducción a Java Frame Form en NetBeans.
Este temario está diseñado para cubrirse en aproximadamente 15 a 20 horas de clase, dependiendo del
nivel de detalle en cada tema y la velocidad de los estudiantes.
Metodología
El curso debe enfocarse en el aprendizaje práctico. Cada concepto teórico debe estar acompañado de
ejemplos y ejercicios interactivos en los que los estudiantes puedan aplicar lo aprendido.
Herramientas
Resultados Esperados
Este temario ofrece una base sólida para que los estudiantes continúen desarrollando aplicaciones más
complejas en Java utilizando Swing y otros conceptos avanzados.
Introducción a las Aplicaciones Gráficas en Java
Objetivo
El objetivo de este tema es comprender los conceptos básicos de las aplicaciones gráficas en Java, su
diferencia con las aplicaciones de consola, y aprender a utilizar Swing, una de las bibliotecas gráficas
más comunes en Java. Además, se estudiará el entorno de desarrollo NetBeans, específicamente su
herramienta Java Frame Form para la creación de interfaces gráficas.
Una aplicación gráfica (GUI), o interfaz gráfica de usuario, es un tipo de programa que permite la
interacción con el usuario a través de elementos visuales, como ventanas, botones, cuadros de texto,
menús, y otros componentes gráficos. A diferencia de las aplicaciones de consola que se basan en la
entrada y salida de texto, las aplicaciones gráficas ofrecen una forma más intuitiva y amigable para
interactuar con el software.
Ejemplo:
Las aplicaciones de consola son aquellas donde el usuario interactúa escribiendo comandos en una
línea de texto.
Las aplicaciones gráficas, como un navegador o una calculadora, permiten interactuar con el mouse y
el teclado a través de elementos visuales como botones y menús desplegables.
1. Interactividad: Las GUIs permiten una mayor interacción del usuario, ya que las acciones se
realizan mediante botones, menús, y otros componentes visuales que son más intuitivos.
2. Facilidad de Uso: Las GUIs son más fáciles de entender para los usuarios, ya que las opciones
están visiblemente organizadas, lo que elimina la necesidad de recordar comandos específicos.
3. Aspecto Visual: Una GUI bien diseñada puede mejorar la experiencia del usuario, haciéndola
más atractiva y profesional.
4. Accesibilidad: Las GUIs permiten que los programas sean accesibles a una audiencia más
amplia, incluidos aquellos que no están familiarizados con el uso de la consola o comandos de
texto.
5. Organización: Los elementos gráficos permiten agrupar mejor las funciones y la información,
haciendo que las aplicaciones sean más organizadas y fáciles de navegar.
1. JFrame:
o El JFrame es el contenedor principal para cualquier aplicación gráfica en Java. Representa una
ventana que puede contener otros componentes como botones, cuadros de texto, y etiquetas.
o Ejemplo:
java
Copiar código
JFrame ventana = new JFrame("Mi Ventana");
ventana.setSize(400, 300); // Tamaño de la ventana
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Cerrar al
salir
ventana.setVisible(true); // Mostrar la ventana
2. JButton:
o Representa un botón que puede ser clicado por el usuario. Al hacer clic, se ejecuta un código
asociado.
o Ejemplo:
java
Copiar código
JButton boton = new JButton("Clic aquí");
boton.addActionListener(e -> System.out.println("¡Botón clicado!"));
3. JLabel:
o Se utiliza para mostrar texto o imágenes en la interfaz. No es interactivo, solo muestra
información.
o Ejemplo:
java
Copiar código
JLabel etiqueta = new JLabel("Hola, Mundo");
4. JTextField:
o Es un campo de texto que permite al usuario introducir información. Es útil para entradas
simples como nombres o números.
o Ejemplo:
java
Copiar código
JTextField campoTexto = new JTextField(20); // 20 caracteres de ancho
5. JPanel:
o Un contenedor que puede agrupar varios componentes. Se usa para organizar la disposición
de los componentes dentro de una ventana.
o Ejemplo:
java
Copiar código
JPanel panel = new JPanel();
panel.add(boton); // Añadir componentes al panel
panel.add(etiqueta);
Ventajas de Swing:
Portabilidad: Las aplicaciones Swing funcionan en cualquier plataforma que soporte Java.
Flexibilidad: Permite personalizar los componentes gráficos y agregar interactividad fácilmente.
Ligereza: No depende directamente del sistema operativo, por lo que los componentes son más
ligeros y consistentes entre plataformas.
Java Frame Form es una herramienta en NetBeans que permite diseñar interfaces gráficas utilizando
un método visual de arrastrar y soltar componentes. En lugar de escribir todo el código a mano,
NetBeans genera automáticamente el código Java para los formularios gráficos.
Diseño Visual: Permite arrastrar componentes como botones, etiquetas y cuadros de texto
directamente sobre un formulario gráfico, sin necesidad de escribir el código inicial
manualmente.
Generación Automática de Código: Cuando se utiliza el diseñador visual, NetBeans genera el
código necesario para crear los componentes de la interfaz. Esto facilita el desarrollo de GUIs
complejas de manera más rápida y sin errores de sintaxis.
Vista Previa en Tiempo Real: Permite ver cómo quedará la interfaz mientras se diseña, lo que
facilita la toma de decisiones sobre el diseño final.
Pasos para Crear una Aplicación Gráfica con Java Frame Form:
3. Arrastrar Componentes:
o En la paleta de componentes (a la derecha), seleccionar y arrastrar un JLabel, JButton, y
JTextField al formulario.
o Usar las propiedades del componente para ajustar el texto, tamaño, y color.
4. Añadir Funcionalidad:
o Hacer doble clic en el botón (JButton) para abrir el editor de código y agregar la acción
deseada, como mostrar un mensaje al hacer clic.
java
Copiar código
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
System.out.println("Botón clicado");
}
5. Ejecutar la Aplicación:
o Guardar el proyecto y hacer clic en Ejecutar para ver el formulario en funcionamiento.
Conclusión
Las aplicaciones gráficas en Java permiten crear programas interactivos y visualmente atractivos,
mejorando la experiencia del usuario en comparación con las aplicaciones de consola. Swing
proporciona los componentes necesarios para crear estas interfaces gráficas, y NetBeans, con su
herramienta Java Frame Form, facilita enormemente el diseño de GUIs mediante su editor visual.
2. Creación de un Proyecto Java con Frame Form
Objetivo
El objetivo de este tema es aprender a crear un nuevo proyecto en NetBeans utilizando Java Frame
Form para diseñar interfaces gráficas de usuario (GUI). Se abordará la configuración inicial del
proyecto, la navegación por el entorno de desarrollo integrado (IDE) de NetBeans, la estructura de un
programa que incluye formularios, y finalmente, la creación y ejecución de un formulario vacío.
Para comenzar a trabajar con interfaces gráficas en Java, es necesario crear un proyecto en NetBeans
que incluya la funcionalidad de Java Frame Form. A continuación se describen los pasos para
configurar dicho proyecto:
3. Configurar el Proyecto:
o Asignar un nombre al proyecto. Por ejemplo, ProyectoGUI.
o Seleccionar la ubicación donde se guardará el proyecto en tu sistema.
o Asegurarse de que la opción Crear clase principal esté marcada.
o Hacer clic en Finalizar.
Ahora, se habrá generado automáticamente un formulario (JFrame) vacío dentro del proyecto,
el cual podremos empezar a personalizar.
NetBeans es un IDE poderoso y completo que facilita el desarrollo de aplicaciones Java. Conocer su
estructura y las áreas clave es fundamental para trabajar de manera eficiente.
Componentes Clave del Entorno de NetBeans:
1. Explorador de Proyectos:
o Ubicado a la izquierda, este panel permite navegar por los archivos y recursos del proyecto.
o Aquí es donde se gestionan las clases, formularios, y otros archivos asociados al proyecto.
2. Editor de Código:
o El área central del IDE donde se escribe el código Java.
o Al crear un JFrame Form, esta área también permite alternar entre la vista de Diseño
(Design) y la vista de Código (Source).
3. Paleta de Componentes:
o Ubicada a la derecha, esta paleta contiene todos los elementos visuales (botones, cuadros de
texto, etiquetas, etc.) que se pueden arrastrar al formulario.
4. Propiedades:
o El panel de Propiedades muestra las características del componente seleccionado, como el
texto, tamaño, color, etc.
5. Salida:
o El panel inferior donde se muestran los resultados de la ejecución de la aplicación, así como
mensajes de error o advertencias.
Cuando trabajas con aplicaciones gráficas en Java, es importante entender la jerarquía de los
componentes.
JFrame:
Es la ventana principal de la aplicación, lo que usualmente se llama el "contenedor raíz". Todos los
demás componentes gráficos se añaden a este contenedor.
Un JFrame puede contener otros elementos como JPanel, JButton, JLabel, entre otros.
JPanel:
El JFrame actúa como el contenedor superior de la ventana, mientras que los JPanel permiten
organizar componentes dentro de esa ventana.
// Configurar el JFrame
this.setSize(400, 300); // Tamaño de la ventana
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Cerrar la
aplicación al cerrar la ventana
this.setVisible(true); // Hacer visible la ventana
}
Una vez que hayas configurado el proyecto y entendido la estructura de los formularios, el siguiente
paso es crear un formulario vacío y ejecutarlo. Los formularios vacíos son útiles para definir la
estructura básica de la interfaz antes de agregar funcionalidad.
2. Configurar el Formulario:
o Ajustar el tamaño del formulario usando las propiedades del JFrame.
o Añadir un título para la ventana:
Hacer clic en el JFrame y en el panel de Propiedades, buscar la opción title. Cambiar
el título a algo como "Mi Aplicación Gráfica".
4. Guardar y Ejecutar:
o Guardar el proyecto haciendo clic en Archivo → Guardar todo.
o Para ejecutar el formulario, haz clic en el botón Ejecutar (un ícono verde con forma de
triángulo) o presiona F6.
Resultado Esperado:
Al ejecutar el proyecto, verás una ventana en blanco con el título "Mi Aplicación Gráfica". Si añadiste
algún componente como un botón, también aparecerá en la ventana.
Conclusión
La creación de un proyecto con Java Frame Form en NetBeans permite desarrollar aplicaciones
gráficas de forma visual e intuitiva. A través del uso de JFrame y JPanel, es posible estructurar
programas que proporcionen interfaces amigables y visualmente atractivas. Además, NetBeans facilita
enormemente la creación de estos formularios al ofrecer herramientas de diseño que generan
automáticamente el código necesario. En este primer paso, hemos aprendido a crear y ejecutar un
formulario vacío, el cual servirá como base para futuras aplicaciones más complejas.
3. Diseño de Interfaces Gráficas con Frame Form
Objetivo
El objetivo de este tema es aprender a agregar y organizar componentes visuales en un Java Frame
Form utilizando el entorno de desarrollo NetBeans. Los componentes gráficos como etiquetas,
botones, campos de texto, casillas de verificación y botones de opción son elementos fundamentales en
la creación de interfaces de usuario (GUI). También se abordará el ajuste de las propiedades básicas de
estos componentes, como tamaño, texto y color.
2. Colocación de Componentes
A continuación, se describen los componentes más comunes utilizados en interfaces gráficas y cómo
agregarlos a un formulario.
1. Agregar un JLabel:
o Desde la Paleta de Componentes, selecciona JLabel.
o Arrástralo y suéltalo en el formulario.
2. Cambiar el Texto:
o Selecciona el JLabel y ve al panel de Propiedades.
o En la propiedad text, escribe el mensaje que quieres mostrar, por ejemplo: “Nombre:”.
3. Ajuste de Propiedades:
o Puedes ajustar el tamaño y la fuente del texto, o cambiar el color del fondo o del texto desde
el panel de Propiedades.
b) JButton (botones)
Un JButton es un componente que el usuario puede hacer clic para realizar una acción.
1. Agregar un JButton:
o Desde la Paleta de Componentes, selecciona JButton.
o Arrástralo y suéltalo en el formulario.
3. Ajuste de Propiedades:
o Cambiar el tamaño del botón arrastrando los bordes en la vista de diseño.
o En las Propiedades, puedes ajustar el color de fondo y el color del texto, así como la acción
que realiza el botón.
1. Agregar un JTextField:
o Desde la Paleta de Componentes, selecciona JTextField y colócalo en el formulario.
2. Configurar el Ancho:
o Ajusta el tamaño arrastrando los bordes del componente en el formulario, o en las
Propiedades, cambia el valor de la propiedad columns para definir el número de caracteres
visibles.
3. Propiedades Útiles:
o Puedes definir el texto inicial que aparece en el campo usando la propiedad text.
o Puedes limitar el número de caracteres usando un DocumentFilter, pero esto es un paso
avanzado.
d) JCheckBox (casillas de verificación)
1. Agregar un JCheckBox:
o Selecciona JCheckBox de la paleta y colócalo en el formulario.
Un JRadioButton es un botón de opción que generalmente se agrupa con otros botones de opción,
permitiendo una sola selección dentro del grupo.
1. Agregar un JRadioButton:
o Desde la Paleta de Componentes, selecciona JRadioButton y colócalo en el formulario.
2. Agrupar JRadioButtons:
o Para agrupar varios JRadioButton, debes crear un grupo utilizando la clase ButtonGroup.
o En el código, añade los botones al grupo:
java
Copiar código
ButtonGroup grupoOpciones = new ButtonGroup();
grupoOpciones.add(radioButton1);
grupoOpciones.add(radioButton2);
3. Ajuste de Propiedades:
o Cambia el texto asociado al botón desde la propiedad text, por ejemplo, “Opción A”.
o Configura uno de los botones para que esté seleccionado por defecto usando la propiedad
selected.
Cada componente gráfico tiene una serie de propiedades que pueden ser ajustadas para cambiar su
comportamiento o apariencia. Los ajustes más comunes incluyen el tamaño, el texto, y los colores.
a) Tamaño:
El tamaño de los componentes se puede ajustar directamente en el formulario arrastrando los bordes
del componente, o especificando el ancho y alto en las Propiedades del componente (propiedades
width y height).
b) Texto:
Los componentes como JLabel, JButton, JCheckBox, y JRadioButton tienen una propiedad
llamada text que permite definir el texto que aparece en pantalla.
c) Color:
java
Copiar código
JButton boton = new JButton("Aceptar");
boton.setText("Enviar"); // Cambiar el texto del botón
boton.setBackground(Color.BLUE); // Cambiar el color de fondo del botón
boton.setForeground(Color.WHITE); // Cambiar el color del texto del botón
boton.setSize(100, 50); // Ajustar el tamaño del botón
Conclusión
El diseño de interfaces gráficas en Java con NetBeans y el uso de Frame Form permite crear
aplicaciones de forma visual e intuitiva. A través del uso de la Paleta de Componentes es posible
agregar y organizar elementos clave como etiquetas, botones, campos de texto, casillas de verificación
y botones de opción, que forman la base de cualquier interfaz gráfica. Con el ajuste de propiedades
básicas como el tamaño, texto y color, se puede personalizar la apariencia y el comportamiento de cada
componente para crear interfaces de usuario atractivas y funcionales.
4. Manejo de Eventos en Java Frame Form
Objetivo
El objetivo de este tema es aprender a manejar eventos en las aplicaciones gráficas de Java utilizando
Frame Form en NetBeans, capturando interacciones del usuario. Veremos cómo añadir eventos a
componentes como botones, capturar la entrada de texto, y manejar las acciones a través de Listeners.
Además, se desarrollará un ejemplo práctico de una calculadora simple para realizar sumas.
En Java, un evento es una acción que ocurre como resultado de una interacción del usuario, como
hacer clic en un botón o ingresar texto en un campo de texto. Los listeners son interfaces que permiten
detectar estos eventos y ejecutar código en respuesta.
ActionEvent: Se dispara cuando se realiza una acción, como hacer clic en un botón.
KeyEvent: Se dispara cuando se presiona o suelta una tecla.
MouseEvent: Se dispara cuando ocurre una acción del mouse (clic, movimiento).
Concepto de Listener:
Un listener es una interfaz que se encarga de "escuchar" un evento específico. El listener define el
comportamiento de la interfaz cuando se produce el evento.
El ActionListener es el listener más común utilizado para manejar eventos de botones ( JButton).
Cuando el usuario hace clic en un botón, se dispara un evento que puede ser capturado por este
listener.
1. Seleccionar el Botón:
o En el Java Frame Form de NetBeans, selecciona el botón al que deseas añadir el evento.
2. Añadir un ActionListener:
o Haz clic derecho sobre el botón y selecciona la opción Eventos > Action > actionPerformed.
o NetBeans automáticamente generará el código para capturar el evento del botón.
3. Escribir el Código del Evento:
o Dentro del método actionPerformed, puedes definir lo que sucederá cuando el usuario
haga clic en el botón.
Ejemplo de código:
java
Copiar código
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
Es importante separar la lógica de negocio en métodos específicos para cada acción. Esto facilita el
mantenimiento y legibilidad del código.
Cuando el usuario hace clic en un botón, se puede manejar el evento utilizando el método
actionPerformed. Como vimos en el ejemplo anterior, puedes realizar diversas acciones, como
cambiar el texto de un campo, mostrar un mensaje, o realizar cálculos.
b) Al Ingresar Texto
Ejemplo:
java
Copiar código
jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});
A continuación, vamos a desarrollar una pequeña aplicación gráfica de una calculadora simple que
permita realizar la suma de dos números ingresados por el usuario.
Componentes Necesarios:
1. Diseñar la Interfaz:
o Abre un nuevo Java Frame Form en NetBeans.
o Arrastra y suelta dos JTextField, un JButton, y un JLabel desde la Paleta de
Componentes al formulario.
o Ajusta las posiciones y el tamaño de los componentes.
o Cambia el texto del botón a “Sumar” y el del JLabel a “Resultado:”.
// Realizar la suma
double resultado = numero1 + numero2;
1. Obtener Texto: Los valores ingresados por el usuario en los JTextField se capturan utilizando el
método getText().
2. Convertir Texto a Números: Se utiliza Double.parseDouble() para convertir el texto ingresado en
números. El bloque try-catch se utiliza para manejar posibles errores si el usuario no ingresa un
número válido.
3. Realizar la Suma: Se suman los dos números capturados.
4. Mostrar el Resultado: El resultado se muestra en el JLabel usando el método setText().
Conclusión
El manejo de eventos en aplicaciones gráficas de Java es fundamental para interactuar con el usuario.
Utilizando ActionListener y otros tipos de listeners, es posible capturar eventos como clics de botones
o la entrada de texto, y responder de manera adecuada. En este ejemplo, hemos creado una calculadora
sencilla para realizar sumas, demostrando cómo capturar eventos y manipular la información ingresada
por el usuario.
5. Uso de Variables y Operadores Aritméticos en Formularios
Objetivo
En una aplicación gráfica en Java, las variables pueden ser declaradas dentro de los métodos que
manejan los eventos (como actionPerformed). Estas variables se utilizan para almacenar y manipular
datos, como los valores ingresados por el usuario.
1. Declarar la Variable: Las variables se declaran de manera similar a cualquier programa Java,
pero dentro del método que maneja el evento. Ejemplo:
java
Copiar código
double numero1, numero2, numero3;
2. Inicializar las Variables: Se asignan valores a las variables capturando la entrada del usuario
desde los componentes de la interfaz gráfica, como JTextField. Ejemplo:
java
Copiar código
numero1 = Double.parseDouble(jTextField1.getText());
3. Usar las Variables: Una vez que las variables han sido inicializadas con los datos del usuario,
se pueden utilizar en cualquier operación aritmética o lógica. Ejemplo:
java
Copiar código
double promedio = (numero1 + numero2 + numero3) / 3;
En Java, se utilizan los operadores aritméticos básicos para realizar operaciones matemáticas con las
variables. Los operadores que cubriremos son:
Ejemplos:
Componentes Necesarios:
Diseño de la Interfaz:
1. Captura los Valores Ingresados por el Usuario: Utiliza el método getText() de los
JTextField para obtener los valores que el usuario ingresa.
Ejemplo:
java
Copiar código
String numero1Text = jTextField1.getText();
String numero2Text = jTextField2.getText();
String numero3Text = jTextField3.getText();
Ejemplo:
java
Copiar código
double numero1 = Double.parseDouble(numero1Text);
double numero2 = Double.parseDouble(numero2Text);
double numero3 = Double.parseDouble(numero3Text);
3. Realiza el Cálculo del Promedio: Aplica la fórmula del promedio: (n1 + n2 + n3) / 3.
Ejemplo:
java
Copiar código
double promedio = (numero1 + numero2 + numero3) / 3;
Ejemplo:
java
Copiar código
jLabel1.setText("Resultado: " + promedio);
Código Completo del Evento:
java
Copiar código
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Capturar los valores ingresados por el usuario
String numero1Text = jTextField1.getText();
String numero2Text = jTextField2.getText();
String numero3Text = jTextField3.getText();
// Calcular el promedio
double promedio = (numero1 + numero2 + numero3) / 3;
1. Captura de Datos: Se capturan los datos del usuario desde los JTextField.
2. Conversión a Números: Utilizando Double.parseDouble(), los datos capturados (en forma de
texto) se convierten a números para realizar cálculos.
3. Cálculo del Promedio: Se suman los tres números y se dividen entre 3 para obtener el promedio.
4. Mostrar el Resultado: El resultado del promedio se muestra en un JLabel.
5. Manejo de Errores: Se maneja el caso en que el usuario ingrese datos no válidos (por ejemplo, texto
en lugar de números) mediante el uso de un bloque try-catch.
Conclusión
Este tema abarcó el uso de variables y operadores aritméticos básicos en formularios gráficos
utilizando Java Frame Form en NetBeans. Aprendimos cómo capturar datos del usuario utilizando
JTextField, aplicar operadores aritméticos para realizar cálculos, y mostrar los resultados en
componentes gráficos como JLabel. El ejemplo práctico de una calculadora de promedio demostró
cómo integrar todos estos conceptos para crear una aplicación interactiva.
6. Interacción entre Componentes de la Interfaz
Objetivo
El objetivo de este tema es aprender a hacer que los componentes de una interfaz gráfica interactúen
entre sí. Los componentes como JTextField, JButton, y JLabel trabajarán juntos para capturar
entradas, realizar cálculos o transformaciones, y actualizar la interfaz con los resultados. Al finalizar,
se habrá desarrollado una aplicación que convierte grados Celsius a Fahrenheit, mostrando cómo los
datos ingresados en un JTextField pueden ser procesados y reflejados en un JLabel o en otro
componente de la interfaz.
Cuando se trabaja con varios JTextField, es común capturar diferentes valores para realizar
operaciones o transformaciones con esos datos. Cada JTextField puede representar un valor o
parámetro diferente que luego será utilizado en los cálculos.
java
Copiar código
String entrada1 = jTextField1.getText();
String entrada2 = jTextField2.getText();
3. Convertir las Entradas a un Tipo Numérico: Convierte las entradas a un tipo numérico,
como double, utilizando Double.parseDouble(), para poder realizar cálculos. Ejemplo:
java
Copiar código
double valor1 = Double.parseDouble(entrada1);
double valor2 = Double.parseDouble(entrada2);
Una de las funciones comunes en las interfaces gráficas es actualizar un componente, como un JLabel,
en respuesta a la interacción del usuario. Esto permite mostrar resultados o mensajes basados en los
datos ingresados.
Actualización de un JLabel con un Resultado:
Para mostrar un resultado en un JLabel, se utiliza el método setText(), el cual cambia el texto
mostrado por el componente.
Ejemplo:
java
Copiar código
jLabel1.setText("Resultado: " + resultado);
Este método puede utilizarse para mostrar cualquier tipo de información, desde el resultado de un
cálculo hasta un mensaje de error o confirmación.
En este ejemplo, desarrollaremos un programa simple que convierte una temperatura en grados
Celsius, ingresada por el usuario en un JTextField, a grados Fahrenheit, y muestra el resultado en un
JLabel.
Diseño de la Interfaz:
1. Captura del Valor Ingresado por el Usuario: Utiliza el método getText() para obtener el
valor ingresado en el JTextField.
Ejemplo:
java
Copiar código
String textoCelsius = jTextField1.getText();
2. Conversión del Valor a Número: Utiliza Double.parseDouble() para convertir el valor de
texto a un número de tipo double.
Ejemplo:
java
Copiar código
double celsius = Double.parseDouble(textoCelsius);
Ejemplo:
java
Copiar código
double fahrenheit = (celsius * 1.8) + 32;
Ejemplo:
java
Copiar código
jLabel1.setText("Fahrenheit: " + fahrenheit);
1. Captura de Datos: El valor ingresado por el usuario en el JTextField es capturado en formato de texto.
2. Conversión de Texto a Número: El texto se convierte en un número de tipo double utilizando
Double.parseDouble(). Esto permite realizar cálculos aritméticos.
3. Cálculo de la Conversión: Utilizando la fórmula de conversión de grados Celsius a Fahrenheit, el valor
de Celsius se transforma a Fahrenheit.
4. Mostrar el Resultado: El resultado de la conversión se muestra en un JLabel.
5. Manejo de Errores: Si el usuario ingresa un valor no numérico, se maneja una excepción
NumberFormatException y se muestra un mensaje de error en el JLabel.
Conclusión
En este tema, aprendimos a hacer que varios componentes de una interfaz gráfica en Java Frame
Form interactúen entre sí. Utilizando componentes como JTextField, JLabel, y JButton, se puede
capturar la entrada del usuario, realizar cálculos u operaciones, y mostrar los resultados o mensajes en
otros componentes de la interfaz. El ejemplo práctico de conversión de grados Celsius a Fahrenheit
demostró cómo estos componentes pueden trabajar en conjunto para crear una aplicación interactiva y
funcional.
7. Diseño de Formularios Usando Layout Managers
Objetivo
Los Layout Managers son responsables de organizar los componentes dentro de un contenedor en un
formulario. Java proporciona varios tipos de administradores de diseño, cada uno con sus propias
características y formas de organizar los elementos.
1. FlowLayout:
o Organiza los componentes en fila, alineándolos de izquierda a derecha.
o Los componentes fluyen al siguiente renglón si el espacio es insuficiente.
o Es el diseño predeterminado de muchos contenedores, como JPanel.
Ejemplo de creación:
java
Copiar código
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
2. GridLayout:
o Organiza los componentes en una cuadrícula de filas y columnas.
o Todos los componentes tienen el mismo tamaño.
o Útil para formularios en los que se necesite una distribución uniforme, como una calculadora.
Ejemplo de creación:
java
Copiar código
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(3, 3)); // Una cuadrícula de 3x3
3. BorderLayout:
o Divide el contenedor en cinco regiones: Norte (North), Sur (South), Este (East), Oeste (West) y
Centro (Center).
o Cada componente se coloca en una de estas regiones.
o Es útil cuando se necesita una organización jerárquica de los componentes.
Ejemplo de creación:
java
Copiar código
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
Cuando trabajas con Java Frame Form en NetBeans, los Layout Managers te permiten gestionar
cómo se distribuyen los componentes en la ventana de la aplicación. En el entorno de NetBeans,
puedes cambiar fácilmente el Layout Manager a través de las propiedades del contenedor o
componente, utilizando la paleta visual.
3. Organizar los Componentes: Una vez aplicado el Layout Manager, arrastra los componentes
(como JLabel, JButton, JTextField) dentro del panel, y verás cómo se organizan
automáticamente según el Layout Manager seleccionado.
Componentes a Utilizar:
1. Crear el JFrame y el JPanel: Crea un JFrame como contenedor principal y un JPanel para
alojar los botones y el campo de texto.
2. Aplicar el GridLayout: Aplica el GridLayout al JPanel, configurando una cuadrícula de 4x4
(4 filas y 4 columnas) para los botones.
3. Agregar Componentes:
o Coloca un JTextField en la parte superior del formulario para mostrar los números y
resultados.
o Agrega los botones de la calculadora dentro del JPanel usando el GridLayout.
Código de Ejemplo:
java
Copiar código
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public Calculadora() {
// Configurar el JFrame
setTitle("Calculadora");
setSize(300, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new BorderLayout());
setVisible(true);
}
// Manejo de eventos al hacer clic en un botón
@Override
public void actionPerformed(ActionEvent e) {
String input = e.getActionCommand();
if (input.equals("C")) {
pantalla.setText("");
resultado = 0;
operacion = "";
nuevaOperacion = true;
} else if (input.equals("=")) {
calcular(Double.parseDouble(pantalla.getText()));
pantalla.setText("" + resultado);
operacion = "";
nuevaOperacion = true;
} else if (input.equals("+") || input.equals("-") || input.equals("*")
|| input.equals("/")) {
operacion = input;
resultado = Double.parseDouble(pantalla.getText());
nuevaOperacion = true;
} else {
if (nuevaOperacion) {
pantalla.setText(input);
nuevaOperacion = false;
} else {
pantalla.setText(pantalla.getText() + input);
}
}
}
1. Diseño con GridLayout: El JPanel principal de botones utiliza un GridLayout de 4x4, donde
cada celda contiene un botón que representa un número o una operación.
2. Eventos: Cada botón tiene un ActionListener que maneja las interacciones del usuario.
Dependiendo del botón presionado, se realiza una acción específica (como agregar un número a
la pantalla, realizar una operación, o borrar los valores).
3. Cálculos: La calculadora realiza operaciones básicas como suma, resta, multiplicación y
división, mostrando el resultado en el JTextField.
Conclusión
Objetivo
El objetivo de este tema es aprender a manejar errores y validar las entradas de datos en los
formularios de Java. A través de la validación de entradas numéricas y el manejo de excepciones, se
garantiza que los usuarios ingresen datos correctos y se previenen errores en tiempo de ejecución. Al
finalizar, serás capaz de validar datos en JTextField y utilizar bloques try-catch para manejar
excepciones como entradas incorrectas.
En una interfaz gráfica, es común que se necesiten validaciones para asegurarse de que el usuario
introduzca los tipos de datos esperados. En el caso de las entradas numéricas, se debe verificar que el
texto ingresado en un JTextField sea un número antes de procesarlo.
Para validar que el texto ingresado en un JTextField sea numérico, puedes utilizar el método
getText() y verificar si lo que se ingresó es un número.
java
Copiar código
String entrada = textoField.getText();
try {
int numero = Integer.parseInt(entrada); // Intentar convertir la entrada a
número
// Si la conversión es exitosa, la entrada es válida
System.out.println("Número válido: " + numero);
} catch (NumberFormatException e) {
// Si ocurre una excepción, la entrada no es un número
System.out.println("Entrada no válida. Por favor, ingrese un número.");
}
Java proporciona el bloque try-catch para manejar excepciones que pueden ocurrir en tiempo de
ejecución, como cuando un usuario introduce un tipo de dato incorrecto. Esto es esencial cuando se
trabaja con entradas de usuario para prevenir errores que podrían hacer que la aplicación falle.
Uso de try-catch
El bloque try-catch se utiliza para "atrapar" excepciones y manejar errores sin detener el programa.
Cuando se produce una excepción dentro de un bloque try, el flujo del programa pasa
automáticamente al bloque catch, donde se maneja el error.
java
Copiar código
try {
// Código que puede generar una excepción
int resultado = Integer.parseInt(textoField.getText());
System.out.println("El número ingresado es: " + resultado);
} catch (NumberFormatException e) {
// Manejo del error
JOptionPane.showMessageDialog(null, "Por favor, ingrese un número válido.",
"Error", JOptionPane.ERROR_MESSAGE);
}
En este ejemplo, si el usuario ingresa algo que no puede convertirse en un número entero, se muestra
un cuadro de diálogo informando del error.
A continuación, vamos a crear un formulario sencillo donde el usuario pueda ingresar dos números
enteros para realizar una operación matemática (como la suma), y validaremos que ambas entradas
sean números válidos.
1. Crear el JFrame y JTextFields: Se crearán dos JTextFields para que el usuario ingrese los
números, un JButton para realizar la operación y un JLabel para mostrar el resultado.
2. Validar las Entradas: Se utilizará un bloque try-catch para validar que los datos ingresados
en los JTextFields sean números enteros antes de realizar la operación.
3. Mostrar Mensajes de Error: Si el usuario ingresa un valor no numérico, se mostrará un
mensaje de error mediante un JOptionPane.
Código de Ejemplo:
java
Copiar código
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public ValidadorNumerico() {
// Configuración del JFrame
setTitle("Validación de Números Enteros");
setSize(300, 200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(null);
// Crear componentes
JLabel label1 = new JLabel("Número 1:");
label1.setBounds(20, 20, 80, 25);
add(label1);
setVisible(true);
}
// Realizar la suma
int suma = numero1 + numero2;
// Mostrar el resultado
resultadoLabel.setText("Resultado: " + suma);
} catch (NumberFormatException e) {
// Mostrar un mensaje de error si las entradas no son válidas
JOptionPane.showMessageDialog(null, "Por favor, ingrese solo números
enteros.", "Error de Validación", JOptionPane.ERROR_MESSAGE);
}
}
Conclusión
El manejo de errores y la validación de entradas son aspectos cruciales en cualquier aplicación gráfica.
Al validar las entradas del usuario y manejar las excepciones correctamente, se previene que la
aplicación falle y se mejora la experiencia del usuario. En este tema, aprendimos a validar entradas
numéricas en un formulario de Java usando JTextField y manejamos las excepciones utilizando try-
catch. Además, vimos cómo implementar un formulario que realiza una operación matemática solo si
los valores ingresados son válidos.
9. Guardado de Datos desde un Formulario
Objetivo
El objetivo de este tema es aprender a almacenar datos ingresados en un formulario gráfico en una
aplicación Java y guardar esos datos en un archivo de texto. A través de este proceso, entenderás cómo
capturar datos desde la interfaz gráfica, cómo manejarlos en variables, y cómo realizar operaciones de
escritura en archivos para persistir la información.
Cuando un usuario ingresa datos en un formulario, esos datos se capturan a través de los componentes
de la interfaz gráfica como JTextField o JTextArea. Estos datos se almacenan en variables para su
posterior procesamiento o almacenamiento.
Para guardar datos en un archivo de texto, puedes utilizar la clase FileWriter junto con
BufferedWriter en Java. Estos permiten escribir datos de manera eficiente en un archivo de texto.
FileWriter se usa para crear o abrir un archivo llamado datos.txt. El segundo parámetro true
permite agregar al final del archivo sin sobrescribirlo.
BufferedWriter se usa para escribir datos de manera eficiente en el archivo.
try-with-resources se utiliza para asegurar que el archivo se cierre automáticamente al finalizar la
escritura, incluso si ocurre una excepción.
Vamos a crear un formulario simple que permita al usuario ingresar su nombre y una breve
descripción. Luego, los datos ingresados se guardarán en un archivo de texto llamado datos.txt.
public FormularioGuardarDatos() {
// Configuración del JFrame
setTitle("Guardar Datos en Archivo");
setSize(400, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(null);
// Crear componentes
JLabel nombreLabel = new JLabel("Nombre:");
nombreLabel.setBounds(20, 20, 100, 25);
add(nombreLabel);
setVisible(true);
}
Objetivo
El objetivo de este proyecto final es aplicar todos los conocimientos adquiridos para desarrollar una
pequeña aplicación gráfica en Java utilizando el entorno de desarrollo NetBeans y la biblioteca Swing.
La aplicación debe capturar datos del usuario, realizar una operación aritmética y mostrar el resultado
en la interfaz gráfica. Además, se incluirán validaciones básicas y manejo de eventos para asegurar que
la aplicación sea funcional y robusta.
Requerimientos de la Aplicación
1. Abrir NetBeans:
o Inicia NetBeans y selecciona "Nuevo Proyecto".
3. Configurar Proyecto:
o Nombra el proyecto (por ejemplo, CalculadoraIVA).
o Selecciona la ubicación del proyecto y haz clic en "Finalizar".
2. Diseño de la Interfaz Gráfica
1. Abrir el Formulario:
o Dentro del proyecto, abre el archivo Frame1.java (o el nombre que hayas dado al
formulario).
2. Código de la Aplicación:
java
Copiar código
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public Frame1() {
// Configuración del JFrame
setTitle("Calculadora de IVA");
setSize(400, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(null);
setVisible(true);
}
// Validación de datos
if (nombre.isEmpty() || edadStr.isEmpty() || montoStr.isEmpty()) {
resultadoLabel.setText("Por favor, complete todos los campos.");
return;
}
// Mostrar el resultado
resultadoLabel.setText(String.format("Hola %s, el total con IVA es:
%.2f", nombre, total));
} catch (NumberFormatException e) {
resultadoLabel.setText("Error: Ingrese valores numéricos válidos.");
}
}
2. Manejo de Eventos:
o Se añade un ActionListener al botón de cálculo para manejar el clic del usuario.
3. Lógica de Cálculo:
o Se capturan y validan los datos ingresados por el usuario.
o Se realiza el cálculo del IVA (asumiendo una tasa del 16%).
o Se muestra el resultado en una etiqueta.
4. Validación:
o Se validan las entradas para asegurar que no estén vacías y que los valores sean numéricos.
o Se muestran mensajes de error si los datos son incorrectos.
Conclusión
Este proyecto final integra todos los aspectos clave del desarrollo de aplicaciones gráficas en Java
utilizando Swing. A través de la creación de una aplicación que captura datos del usuario, realiza
cálculos y muestra resultados, puedes practicar el diseño de interfaces, el manejo de eventos, la
validación de datos y el almacenamiento en archivos. Este conocimiento te permitirá desarrollar
aplicaciones gráficas funcionales y robustas en Java.