100% encontró este documento útil (2 votos)
322 vistas30 páginas

Java + Netbeans

Programación y manejo de datos con JAVA utilizando NetBeans IDE

Cargado por

David Guerrero
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (2 votos)
322 vistas30 páginas

Java + Netbeans

Programación y manejo de datos con JAVA utilizando NetBeans IDE

Cargado por

David Guerrero
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Programación y manejo de datos con Java

utilizando NetBeans IDE


Programación y manejo de datos con Java
utilizando NetBeans IDE
Carlos Alberto Vanegas
© Universidad Distrital Francisco José de Caldas
© Facultad Tecnológica
© Carlos Alberto Vanegas

Primera edición, julio de 2018


ISBN: 978-958-787-017-6

Dirección Sección de Publicaciones


Rubén Eliécer Carvajalino C.
Coordinación editorial
Miguel Fernando Niño Roa
Corrección de estilo
Edwin Pardo Salazar
Diagramación
Jorge Andrés Gutiérrez Urrego

Editorial UD
Universidad Distrital Francisco José de Caldas
Carrera 24 No. 34-37
Teléfono: 3239300 ext. 6202
Correo electrónico: publicaciones@[Link]

Vanegas, Carlos Alberto


Programación y manejo de datos con Java utilizando
NetBeans IDE / Carlos Alberto Vanegas. -- Bogotá : Universidad
Distrital Francisco José de Caldas, 2018.
352 páginas ; 24 cm. -- (Colección espacios)
ISBN 978-958-787-017-6
1. Ingeniería de sistemas - Programas para computador
2. Desarrollo de software de aplicaciones 3. Java (Lenguaje de
programación de computadores) 4. Software libre 5. NetBeans
7.1 (Servidor de aplicaciones de software libre) I. Tít. II. Serie.
005.133 cd 21 ed.
A1596576

CEP-Banco de la República-Biblioteca Luis Ángel Arango

Todos los derechos reservados.


Esta obra no puede ser reproducida sin el permiso previo escrito de la
Sección de Publicaciones de la Universidad Distrital.
Hecho en Colombia
Contenido

Gestión de excepciones y errores 13


Generación de excepciones 13
Captura de excepciones 14
Ejemplos prácticos de excepciones 15
Ejercicios de manejo de excepciones 33

Flujo de datos y archivos 35


Clase file 35
Archivos de acceso secuencial 40
Archivos de acceso aleatorio 48
Ejercicios de archivos 53

Comunicaciones en red 55
Obtención de la IP 56
Manipulación de URL 61
Conexiones de sockets de flujos (cliente/servidor) 67
Ejemplo práctico de conexión TCP 69
Ejemplo práctico de conexión UDP 86
Ejercicios de sockets 97

JDBC y bases de datos 99


Base de datos 100
Bases de datos relacionales 100
Lenguaje de consulta estructurado (SQL) 101
Sentencias SQL básicas 103
Acceder a una base de datos utilizando JDBC 110
Ejercicios de bases de datos 160
Servlets 163
Interface ServletRequest 165
Interface ServletResponse 165
HTML (HyperText Markup Language - Lenguaje
de marcas de hipertexto) 166
Servidor Apache Tomcat 168
Descriptor de despliegue 169
Ejemplos prácticos de servlets 169
Servlets y archivos 187
Servlets y bases de datos 202
Ejercicios servlets 233

Javaserver pages (JSP) 235


Objetos implícitos 235
Componentes de secuencias de comandos 237
Acciones estándar 237
Ejemplos prácticos JSP 238
JSP y archivos de flujo 260
JSP y bases de datos 274
Ejercicios JSP con bases de datos 311

Anexo A 313
NetBeans IDE 8.0.1 313
Descargar NetBeans IDE 313
Instalación 315
Crear un proyecto Java Application 321
Adicionar un formulario a un proyecto Java Application 322
Colocar objetos en el formulario 324
Compilar y ejecutar un formulario 325

Anexo B 327
Oracle DataBase 10G Express 327
Instalación 327
Creación de una tabla en la base de datos con usuario system 335
Salir de Oracle DataBase Edition Express 340
Conectar la base de datos Oracle desde el entorno NetBeans IDE 340

Anexo C 345
Complemento iReport 4.5.0 345
Descargar iReport 4.5.0 345
Descomprimir iReport 4.5.0 346
Instalación del complemento iReport 4.5.0 346
Prólogo

Programación y manejo de datos con Java utilizando NetBeans IDE es un libro que preten-
de mostrar al lector las posibilidades del diseño de aplicaciones telemáticas mediante
el empleo del lenguaje de programación Java y usando como herramienta de desa-
rrollo el editor NetBeans IDE. Este texto está pensado para todos aquellos lectores
interesados en conocer cómo el lenguaje Java puede realizar el manejo de excepcio-
nes, la escritura y la lectura de archivos de flujo de datos secuenciales y aleatorios y
la comunicación en red basada en los protocolos Transmission Control Protocol (TCP)
y User Datagram Protocol (UDP), las operaciones con los registros de las tablas (in-
serción, consulta, modificación, eliminación) que conforman una base de datos, así
como la generación de reportes y gráficos.
Todo el material didáctico del libro es complementado con teoría y ejemplos prác-
ticos. Estos se realizaron en aplicaciones Java bajo el entorno de desarrollo NetBeans
8.0.1 mediante el uso de componentes básicos swing para la interfaz de usuario y
otros en aplicaciones web (Servlets y Java Server Pages).
El uso de NetBeans IDE 8.0.1 como entorno de desarrollo permitió la edición de
código fuente y la compilación, depuración y ejecución de los programas Java. Esto
simplificó la tarea de programación y permitió concentrarnos en las particularidades
de la aplicación y evitar la complejidad al desarrollar sobre una plataforma gráfica.
Este libro está dirigido fundamentalmente a usuarios con conocimientos de pro-
gramación orientada a objetos del lenguaje de programación Java, que ojalá hayan
utilizado los componentes gráficos básicos swing.

Capítulos del libro


Programación Java y manejo de datos utilizando NetBeans IDE consta de seis capítulos
distribuidos de la siguiente forma:
• Capítulo 1. Manejo de excepciones: se describe el manejo de excepciones que
se pueden generar en un programa al escribir código no robusto, errores de en-
trada/salida o por excepciones creadas por el programador. Se desarrollan ejem-
plos explicativos.

11
Carlos Alberto Vanegas

• Capítulo 2. Archivos y flujos de datos (streams): se maneja el concepto de flujo


de datos utilizando los conceptos de archivos secuenciales y aleatorios. Se expli-
ca por medio de ejemplos prácticos.
• Capítulo 3. Trabajo con redes: se habla sobre la comunicación de programas a
través de las redes de computadores, manejando la conexión de sockets de flujo
(TCP) y datagramas (UDP). Se realizan ejemplos que apoyan el estudio de las
comunicaciones con Java.
• Capítulo 4. Bases de datos con Java (JDBC): se conceptualiza sobre bases
de datos, el lenguaje de consulta estructurado (SQL) y cómo acceder a una
base de datos con Java para manipular la información contenida en ella. Se
complementa con ejemplos.
• Capítulo 5. Servlets: se explica la implementación de aplicaciones web con
Servlets, además se exponen los conceptos básicos de HTML, el contenedor de
servidores Apache Tomcat. También se efectúan ejercicios con aplicaciones web
empleando archivos y bases de datos.
• Capítulo 6. Java Server Pages: se puntualiza sobre la implementación de
páginas de Java en un servidor (JSP). Se efectúan ejercicios aplicados a
archivos y bases de datos.

12
Gestión de excepciones y errores

Las excepciones son sucesos que pueden ocurrir mientras se ejecuta un programa;
estos pueden detener su flujo normal. El manejo de excepciones en Java sirve para
detectar y corregir posibles errores en vez de dejar que ocurran. Si existe un error en
un determinado proceso la ejecución de la aplicación no debe detenerse, sino que
debería lanzarse (throw) una excepción, esta se capturaría (catch) para resolver el error
o ser tratada por defecto (finally). La gestión de excepciones es una herramienta útil
para el control de errores, lo que puede proporcionar mensajes coherentes e indicar
cuál fue la falla o recuperar el programa de manera automática.

Generación de excepciones
Al producirse un evento anormal durante la ejecución de un programa se debe gene-
rar o lanzar una excepción. Las excepciones provienen de la clase Throwable (incluida
en el paquete [Link]) estas contienen dos subclases: Error y Exception. La clase Error
indica que ha ocurrido una falla en la ejecución de un programa (de la cual no es
posible recuperarse y por tanto se termina su ejecución). La clase Exception exterio-
riza un evento no normal del programa, no obstante se puede gestionar, detectar o
corregir para evitar su finalización.
Para que el manejo de excepciones funcione eficientemente se debe tener en cuenta:
• Definir en qué parte de un programa se debe crear una excepción y bajo qué
condiciones. Para ello se utilizan las palabras reservadas throw y throws.
• Determinar en qué parte de un programa puede llegar a producirse una excep-
ción para actuar en consecuencia. Para ello se utilizan las palabras reservadas
try, catch y finally.

Las excepciones se dividen así:


• Excepciones en tiempo de ejecución (runtime): son excepciones predefinidas
en Java que indican el tipo de error que representan. Ocurren normalmente
debido a que el código no es muy robusto; se pueden mencionar entre otras:
ArithmeticException (error aritmético), NumberFormatException (formato no numéri-
co), ArrayIndexOutOfBounds (arreglo fuera de rango), SecurityException (seguridad no
controlada) o NullPointerException (punto nulo), etc.

13
Carlos Alberto Vanegas

• Excepciones de aplicación: son generalmente creadas por el programador para


que den aviso de casos anormales que pueden ocurrir en un proceso. Se captu-
ran en:
• Bloques try (bloque de intento); finally (finalmente).
• Bloques try; catch (bloque de atrapar).
• Uso de throw (lanzar una excepción).

Se pueden mencionar, entre otras: EOFException (fin de archivo) y MalformedURLEx-


ception (dirección nula).
• Excepciones de la máquina virtual Java: ocurren cuando existe un error de en-
trada/salida (por lo general son fatales). Lo único que se puede hacer ante estas
excepciones es detener el sistema y reiniciarlo.

Captura de excepciones
La captura o lanzamiento de excepciones se realiza desde un método, utilizando un
bloque try-catch o try-finally.

try
En este bloque se encuentra el código que posiblemente pueda generar una excep-
ción. El bloque try debe ir seguido por lo menos de un bloque catch o de una cláusula
finally.
La sintaxis del bloque try es:
try
{
sentencias que pueden generar una excepción;
}

catch
En este bloque deberá estar el código que se ejecutará cuando se produzca una excep-
ción. La sintaxis del bloque catch es:
catch( tipo_de_excepcion nombre_variable)
{
Mensajes o sentencias para tratar la excepción;
}
Se pueden colocar varias cláusulas catch; cada una controla diferentes tipos de excep-
ción y se ejecutarán en el orden en que aparecen. Si alguna excepción coincide con el
error se ejecuta el bloque de código y seguirá el flujo por el bloque finally (si existe),
concluyendo el control de la excepción.

14
Programación y manejo de datos con Java utilizando NetBeans IDE

finally
Este bloque es útil cuando no existen sentencias catch. El código que esté dentro de
este se ejecutará independientemente de lo que se realice en el interior del try.

throw
Se utiliza para lanzar una excepción en un momento deseado. La excepción throw se
origina de la clase Throwable. La sintaxis es:

throw new objetoThrowable;

throws
Se utiliza para identificar la lista de posibles excepciones que un método puede lan-
zar. Su sintaxis es:
tipo_de_retorno nombre_metodo(parámetros) throws Lista_de_excepciones
{}

Ejemplos prácticos de excepciones


a) Desde NetBeans IDE crear un nuevo proyecto Java Application (ver anexo A.
Crear un proyecto Java Application) llamado Excepciones. Desde allí agregar
un formulario JFrame llamado Excepcion_ArrayIndexOutOfBounds (ver anexo
A. Adicionar un formulario a un proyecto Java Application). Luego, desarro-
llar un programa que genere una excepción cuando un arreglo esté fuera de
su rango.

• Crear la interfaz de usuario


Adicionar al formulario JFrame desde la paleta de controles los siguientes objetos
para crear la interfaz de usuario: 2 JLabel, 2 JButton, 1 JList y 1 JTextField. El formula-
rio deberá visualizarse como se aprecia en la figura 1.1:

Figura 1.1. Formulario del programa Excepcion_ArrayIndexOutOfBounds

15
Carlos Alberto Vanegas

A continuación seleccione el objeto JLabel1, luego pulse el botón derecho del mouse
y escoja la opción Cambiar nombre de variable. Se observará la ventana presentada en
la figura 1.2.

Figura 1.2. Ventana para cambiar el nombre de un objeto

Como nuevo nombre del objeto escriba lbltitulo. A continuación pulse el botón Acep-
tar. Nuevamente con el objeto lbltitulo seleccionado, pulse el botón derecho del mou-
se, escoja la opción Editar texto y cambie el contenido JLabel1 por la frase Ejemplo de
la excepción ArrayIndexOutOfBounds. En el cuadro de propiedades busque Font y pulse
sobre el icono para observar la figura 1.3.

Figura 1.3. Ventana de la propiedad Font

16
Programación y manejo de datos con Java utilizando NetBeans IDE

Seleccione como tipo de letra Times New Roman, estilo de tipo Negrita y Tamaño 12.
Se obtendrá la figura 1.4:

Figura 1.4. Formulario con el objeto lbltitulo modificado

A continuación modifique los demás controles de acuerdo con la tabla 1.1:

Tabla 1.1. Propiedades de los controles de la aplicación

Control Propiedad Valor

Cambiar nombre variable… boton_controlado


JButton1
Editar texto (text) Excepción Controlada
Cambiar nombre variable… boton_no_controlado
JButton2
Editar texto (text) Excepción No Controlada
Cambiar nombre variable… lista
JList1
Model Dejar en blanco
Cambiar nombre variable… lblresultado
JLabel2
Editar texto (text) Resultado:
Cambiar nombre variable… txtresultado
JTextField1
Editar texto (text) Dejar en blanco
JFrame Title Excepción ArrayIndexOutOfBounds

17
Carlos Alberto Vanegas

Al finalizar las modificaciones de las propiedades de los controles se deberá observar


la figura 1.5:

Figura 1.5. Formulario con las propiedades modificadas de los objetos

Como paso siguiente se deberá realizar la codificación de cada uno de los botones
con el fin de que ejecute la tarea esperada. Para ello seleccione el objeto boton_con-
trolado, pulse el botón derecho del mouse, escoja la opción eventos, luego action y
después actionPerformed, como se aprecia en la figura 1.6:

Figura 1.6. Pasos para escribir código en el objeto boton_controlado

18
Programación y manejo de datos con Java utilizando NetBeans IDE

Sobre la opción actionPerformed, dé clic para visualizar el método boton_controladoAc-


tionPerformed en el editor de código (figura 1.7):

Figura 1.7. Editor de código con el método boton_controladoActionPerformed

Dentro de las llaves {} escriba el siguiente código:


String nombres[]={“Carlos”,”Rosa”,”Cristian”,”Angelita”};
DefaultListModel milista = new DefaultListModel();
[Link](milista);
try
{
for (int i=0; i<[Link]; i++)
[Link](nombres[i]);
[Link](“Ejecución del proceso sin problemas...”);
}
catch ( ArrayIndexOutOfBoundsException e )
{
[Link](“Error: “+ e);
}

• Análisis del código

Inicialmente se define un arreglo de tipo String llamado nombres, con cuatro elemen-
tos. Por otro lado, se crea una instancia denominada milista de tipo DefaultListModel

19
Carlos Alberto Vanegas

(clase que permite implementar por defecto una lista de un modelo de datos) y por
intermedio del método setModel se le adiciona la lista de datos al objeto JList llamado
lista. Dentro del bloque try se crea un ciclo for que recorrerá el arreglo nombres, y utili-
zando el método addElement se le adicionará al objeto lista cada uno de los elementos
del arreglo. Por último se visualizará el mensaje Ejecución del proceso sin problemas…
en el objeto txtresultado. Por el bloque catch se capturará la excepción ArrayIndexOutO-
fBounds. En caso de desbordamiento del arreglo se visualizará en el objeto txtresultado
el mensaje Error: concatenado con la excepción generada.

Nota: si en el código se aprecian errores es posible que NetBeans IDE no reconozca


algunas de las clases utilizadas. Dé clic derecho sobre el mouse y seleccione la opción
reparar importaciones (Fix imports) o simplemente pulse Ctrl + Mayúsculas + I.

Figura 1.8. Código escrito en el método boton_controladoActionPerformed

Pulse el botón para volver a la vista de diseño del formulario, seleccione el


botón botón_no_controlado y en el método boton_no_controladoActionPerformed escriba
el siguiente código:
String nombres[]={“Carlos”,”Rosa”,”Cristian”,”Angelita”};
DefaultListModel milista = new DefaultListModel();
[Link](milista);
try
{
for (int i=0; i<=[Link]; i++)
[Link](nombres[i]);
[Link](“Ejecución del proceso sin problemas...”);

20
Programación y manejo de datos con Java utilizando NetBeans IDE

}
catch ( ArrayIndexOutOfBoundsException e )
{
[Link](“Error: “+ e);
}

Con respecto al código del método botón_controladoActionPerformed solamente se


cambió la condición del ciclo for para recorrer el arreglo hasta que sea menor o igual
al total de elementos (recuerde que los arreglos se deben recorrer desde cero hasta
n-1). Esto generará que el arreglo quede por fuera de rango.
En este momento se puede ejecutar el formulario. Para ello sitúese sobre el for-
mulario deseado, oprima el botón derecho del mouse y seleccione la opción Ejecutar
archivo o simplemente pulse Mayúsculas + F6. Si se acciona el botón con el texto Ex-
cepción controlada se obtendrá la figura 1.9:

Figura 1.9. Vista del formulario pulsando el botón Excepción controlada

Al pulsar el botón con el texto Excepción no controlada se observará la figura 1.10:

21
Carlos Alberto Vanegas

Figura 1.10. Vista del formulario pulsando el botón Excepción no controlada

b) En el proyecto Excepciones adicione un nuevo formulario JFrame llamado Excep-


cion_NumberFormatException y diseñe un programa que genere una excepción
cuando se tecleé algo diferente de un número en un campo de texto.

• Crear la interfaz de usuario

Al formulario JFrame añádale los siguientes objetos: 3 JLabel y 2 JTextField. El formu-


lario deberá visualizarse como se aprecia en la figura 1.11:

Figura 1.11. Formulario del programa Excepcion_NumberFormatException

22
Programación y manejo de datos con Java utilizando NetBeans IDE

• Modificar propiedades de los objetos de la interfaz de usuario

Después de colocar los controles u objetos en el formulario, se deben modificar algu-


nas de sus propiedades. Para el caso del ejemplo establezca los siguientes cambios a
los controles:

Tabla 1.2. Propiedades a modificar en Excepcion_NumberFormatException

Control Propiedad Valor

Cambiar nombre variable… Lbltitulo

Ejemplo excepción NumberFormatExcep-


JLabel1 Editar texto (text)
tion

Font Times New Roman, Negrita, 12

Cambiar nombre variable… Lblnumero


JLabel2
Editar texto (text) Digite un número:

Cambiar nombre variable… Lblresultado


JLabel3
Editar texto (text) Número digitado:

Cambiar nombre variable… Txtnumero


JTextField1
Editar texto (text) Dejar en blanco

Cambiar nombre variable… Txtresultado


JTextField2
Editar texto (text) Dejar en blanco

JFrame Title Excepción NumberFormatException

La interfaz de usuario quedará como se muestra en la figura 1.12:

23
Carlos Alberto Vanegas

Figura 1.12. Formulario del programa Excepcion_NumberFormatException

• Escribir código
Seleccione el objeto txtnumero, pulse el botón derecho del mouse, escoja la opción
eventos, luego action y dé clic sobre actionPerformed para visualizar el método txtnume-
roActionPerformed. A continuación escriba el siguiente código entre las llaves {}:
try{
int numeros=[Link]([Link]());
[Link](“Lo digitado fue el número “ + numeros );
}
catch(NumberFormatException e)
{
[Link](“Error:” + e);
}

• Análisis del código

Dentro del bloque try se crea una variable llamada numeros de tipo int a la cual se
le asigna el valor digitado en el objeto txtnumero. Este se obtiene por intermedio del
método getText (), además con el método parseint de la clase Integer se convierte a un
número entero dicho contenido. Por otro lado se le asigna al objeto txtresultado el
texto Lo digitado fue el número, concatenado con el valor de la variable numeros, por
intermedio del método setText ().
En el bloque catch se capturará la excepción NumberFormatException en caso de
que se escriba en el objeto txtnumero algo diferente de una unidad numérica. Se visua-
lizará en el objeto txtresultado el mensaje Error: unido a la excepción generada.
Nota: si en el código se aprecian errores es posible que NetBeans IDE no reco-
nozca algunas de las clases utilizadas. Dé clic derecho sobre el mouse y seleccione la
opción reparar importaciones o simplemente pulse Ctrl + Mayúsculas + I.
Observación: si trata de ejecutar el programa sin realizar el bloque try - catch se
generará un error de excepción entrada/salida (I/O).

24
Programación y manejo de datos con Java utilizando NetBeans IDE

• Ejecutar el proyecto
Seleccione el formulario, pulse el botón derecho del mouse y escoja la opción Ejecutar
archivo o simplemente pulse Mayúsculas + F6. Si se escribe en el objeto txtnumero el
valor 5, al pulsar la tecla Enter se obtendrá la figura 1.13:

Figura 1.13. Ejecución del programa Excepcion_NumberFormatException

En caso de que se escriba algo diferente de un número, como por ejemplo la letra R,
en el objeto txtnumero se generará la excepción y se visualizará la figura 1.14:

Figura 1.14. Generación de la excepción NumberFormatException

c) Agregue un nuevo formulario JFrame al proyecto actual llamado Excepcion_


ArithmeticException y escriba una aplicación que genere una excepción cuando
se trate de realizar una división por cero.

• Crear la interfaz de usuario


Adicione al nuevo formulario JFrame los siguientes objetos: 4 JLabel y 3 JTextField. El
formulario deberá visualizarse como se aprecia en la figura 1.15:

25
Carlos Alberto Vanegas

Figura 1.15. Formulario del programa Excepcion_ArithmeticException

• Modificar propiedades de los objetos de la interfaz de usuario


Modifique las respectivas propiedades de los objetos según la tabla 1.3:

Tabla 1.3. Propiedades a modificar en Excepcion_ArithmeticException

Control Propiedad Valor

Cambiar nombre variable… lbltitulo

JLabel1 Editar texto (text) Ejemplo excepción ArithmeticException

Font Times New Roman, Negrita, 12

Cambiar nombre variable… lblnumerador


JLabel2
Editar texto (text) Digite numerador::

Cambiar nombre variable… lbldenominador


JLabel3
Editar texto (text) Digite denominador:

Cambiar nombre variable… lblresultado


JLabel4
Editar texto (text) Resultado:

Cambiar nombre variable… txtnumerador


JText-
Field1
Editar texto (text) Dejar en blanco

26
Programación y manejo de datos con Java utilizando NetBeans IDE

Control Propiedad Valor

Cambiar nombre variable… txtdenominador


JText-
Field2
Editar texto (text) Dejar en blanco

Cambiar nombre variable… txtresultado


JText-
Field3
Editar texto (text) Dejar en blanco

JFrame Title Excepción ArithmeticException

La interfaz de usuario quedará como se muestra en la figura 1.16:

Figura 1.16. Formulario del programa Excepcion_ArithmeticException

• Escribir código
Seleccione el objeto txtdenominador, pulse el botón derecho del mouse, escoja la op-
ción eventos, luego action y dé clic sobre actionPerformed para visualizar el método
txtdenominadorActionPerformed. Escriba el siguiente código entre las llaves {}
try {
int numerador=[Link]([Link]());
int denominador=[Link]([Link]());
int division=numerador/denominador;
[Link](“”+division);
}
catch(ArithmeticException e)
{
[Link](“Error: “ + e);
}

27
Carlos Alberto Vanegas

• Análisis del código


Se implementa el bloque try-catch. En el bloque try se asignan los valores de los obje-
tos JTextField (txtnumerador, txtdenominador) a las variables de tipo int numerador
y denominador, respectivamente. En la variable division se obtiene el resultado de
esta operación matemática, la cual se imprime en el objeto txtresultado. En el bloque
catch se captura la excepción ArithmeticException que se ejecutará cuando se trate
de realizar una división por cero; esta se imprimirá en el objeto txtresultado.

Nota: si en el código se aprecian errores es posible que NetBeans IDE no reconozca


algunas de las clases utilizadas. Dé clic derecho sobre el mouse y seleccione la opción
reparar importaciones o simplemente pulse Ctrl + Mayúsculas + I.

• Ejecutar el proyecto
Seleccione el formulario y pulse el botón derecho del mouse, escoja la opción Ejecutar
archivo o simplemente pulse Mayúsculas + F6. Si se escribe en el objeto txtnumerador
el valor 40 y en el objeto txtdenominador el valor 0, al pulsar la tecla Enter se obtendrá
la figura 1.17:

Figura 1.17. Ejecución del programa Excepcion_ArithmeticException

d) En el proyecto Excepciones cree un nuevo formulario JFrame llamado Excepcio-


nes_Throw_Throws y diseñe una aplicación que permita capturar dos números
enteros positivos e imprima su sumatoria. Se debe generar una excepción cuan-
do alguno o ambos números capturados sean negativos.

• Crear la interfaz de usuario


Al formulario JFrame adiciónele los siguientes objetos: 4 JLabel, 1 JButton y 3 JText-
Field. El formulario deberá visualizarse como se aprecia en la figura 1.18:

28
Programación y manejo de datos con Java utilizando NetBeans IDE

Figura 1.18. Formulario del programa Excepciones_Throw_Throws

• Modificar propiedades de los objetos de la interfaz de usuario


Modifique las respectivas propiedades de los objetos según la tabla 1.4.

Tabla 1.4. Propiedades a modificar en Excepciones_Throw_Throws

Control Propiedad Valor

Cambiar nombre variable… lbltitulo

Ejemplo excepciones Throw y


JLabel1 Editar texto (text)
Throws

Font Times New Roman, Negrita, 12

Cambiar nombre variable… lblprimernumero


JLabel2
Editar texto (text) Digite primer número positivo:

Cambiar nombre variable… lblsegundonumero


JLabel3
Editar texto (text) Digite segundo número positivo:

Continúa

29
Carlos Alberto Vanegas

Control Propiedad Valor

Cambiar nombre variable… lblresultado


JLabel4
Editar texto (text) Resultado:

Cambiar nombre variable… txtprimernumero


JTextField1
Editar texto (text) Dejar en blanco

Cambiar nombre variable… txtsegundonumero


JTextField2
Editar texto (text) Dejar en blanco

Cambiar nombre variable… txtresultado


JTextField3
Editar texto (text) Dejar en blanco

Cambiar nombre variable… boton


JButton1
Editar texto (text) Sumar números positivos

JFrame Title Excepciones Throw y Throws.

La interfaz de usuario quedará como se muestra en la figura 1.19:

Figura 1.19. Formulario del programa Excepciones_Throw_Throws

30
Programación y manejo de datos con Java utilizando NetBeans IDE

• Escribir código
• Crear una nueva clase llamada MiExcepcion
Para crear una nueva clase desde NetBeans IDE en el proyecto creado, sitúese
sobre el nombre del paquete que está dentro de paquetes fuentes (usualmente es
el mismo nombre del proyecto), pulse el botón derecho del mouse y seleccione
Nuevo, luego Java Class… En la ventana que aparece en la opción Nombre de clase,
escriba MiExcepcion y pulse el botón Terminar. Elimine el código resultante y es-
criba lo siguiente:
class MiExcepcion extends Exception{
public MiExcepcion(String mensaje) {
super(mensaje);
}
}

• Análisis del código


Se crea una nueva clase llamada Miexcepcion que hereda los atributos y comporta-
mientos de la clase Exception. Por otro lado, se origina un constructor de la clase que
recibe como parámetro una variable llamada mensaje de tipo String. En este se llama
al constructor de la superclase (Exception) utilizando la palabra clave super, enviándo-
le como parámetro la variable mensaje.

• Crear un método llamado determinarnegativos


Para crear un nuevo método, en la parte superior del formulario pulse el botón
para ver su vista de diseño. Sitúese en una línea en blanco y escriba el si-
guiente código:
public void determinarnegativos(int pnumero, int snumero) throws MiExcepcion
{
if (pnumero<0 || snumero<0)
throw new MiExcepcion (“Uno o los dos números son negativos”);
else
[Link](“la suma es:”+(pnumero+snumero));
}

• Análisis del código


Se define un método público (public) que no retornará datos (void) llamado
determinarnegativos. Este recibe dos parámetros (pnumero, snumero) de tipo entero (int).

31
Carlos Alberto Vanegas

Utilizando la cláusula throws se lanza una excepción tipo MiExcepcion (recuerde que
la clase MiExcepcion hereda de la clase Exception).
Dentro de dicho método, con la estructura de decisión if, se pregunta si el valor
de la variable pnumero o el valor de la variable snumero son menores que cero, si
esto ocurre se lanza una excepción utilizando la cláusula throw y asignando espa-
cio de memoria (new) de tipo MiExcepcion; este envía como parámetro el texto Uno
o los dos números son negativos. En caso contrario se le asigna el texto La suma es:
concatenado con el valor producido de la suma de las variables pnumero y snumero
al objeto txtresultado.

• Código para el método botonActionPerformed


Seleccione el objeto boton, pulse el botón derecho del mouse, escoja la opción
eventos, luego action y dé clic sobre actionPerformed para visualizar el método botonAc-
tionPerformed. Escriba el siguiente código entre las llaves {}:
try {
int primero=[Link]([Link]());
int segundo=[Link]([Link]());
determinarnegativos(primero,segundo);
}
catch(MiExcepcion e) {
[Link](“”+[Link]());
}

• Análisis del código


En el bloque try se crean las variables primero y segundo de tipo int, a las cuales
se les asignan los valores de los objetos JTextField (txtprimernumero, txtsegun-
donumero). Por otro lado se llama al método determinarnegativos, enviándole los
valores de las variables primero y segundo. En el bloque catch se captura la excep-
ción MiExcepcion, esta se ejecutará explícitamente y se imprimirá en el objeto
txtresultado.

• Ejecutar el proyecto
Seleccione el formulario y pulse el botón derecho del mouse, escoja la opción Ejecutar
archivo o simplemente pulse Mayúsculas + F6. Si se escribe en el objeto txtprimernumero
el valor 1 y en el objeto txtsegundonumero el valor -5, al pulsar la tecla Enter se obtendrá
la figura 1.20:

32

También podría gustarte