Java + Netbeans
Java + Netbeans
Editorial UD
Universidad Distrital Francisco José de Caldas
Carrera 24 No. 34-37
Teléfono: 3239300 ext. 6202
Correo electrónico: publicaciones@[Link]
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
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.
11
Carlos Alberto Vanegas
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.
13
Carlos Alberto Vanegas
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:
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
{}
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.
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.
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:
17
Carlos Alberto Vanegas
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:
18
Programación y manejo de datos con Java utilizando NetBeans IDE
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.
20
Programación y manejo de datos con Java utilizando NetBeans IDE
}
catch ( ArrayIndexOutOfBoundsException e )
{
[Link](“Error: “+ e);
}
21
Carlos Alberto Vanegas
22
Programación y manejo de datos con Java utilizando NetBeans IDE
23
Carlos Alberto Vanegas
• 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);
}
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:
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:
25
Carlos Alberto Vanegas
26
Programación y manejo de datos con Java utilizando NetBeans IDE
• 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
• 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:
28
Programación y manejo de datos con Java utilizando NetBeans IDE
Continúa
29
Carlos Alberto Vanegas
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);
}
}
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.
• 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