You are on page 1of 64

Programacin Visual

Programacin Visual
Ingeniera Electrnica

2015

INTRODUCCIN
Esta asignatura de Programacin Visual es una asignatura aporta al perfil profesional
la capacidad para disear e implementar interfaces grficas de usuario para facilitar la
interaccin entre el ser humano, los equipos y los sistemas electrnicos.
Se trata de una asignatura del 4 semestre, presenta conceptos que permitirn al
estudiante desarrollar aplicaciones de computadora que cuenten con interfaces
amigables, que van desde
la obtencin, almacenamiento, procesamiento y
despliegue de datos, el temario se encuentra organizada en cuatro unidades: en la
primera unidad se abordan los fundamentos tericos del desarrollo e importancia de
las interfaces grficas de usuario y sus aplicaciones, enmarcadas en el contexto de la
metodologa de la programacin orientada a objetos. En el presente manual se
aaden prcticas de laboratorio que permiten al estudiante la identificacin de
objetos, sus propiedades y sus mtodos, as como prcticas que le permitan
identificar la forma en la que se debe programar bajo dicho paradigma, identificando
los elementos principales como clases, objetos, herencia, polimorfismo entre otros.
En la unidad dos se desarrollan los temas referentes a los elementos bsicos para el
diseo y desarrollo de interfaces grficas de usuario. Se deben cubrir estos temas con
la profundidad necesaria, caracterizando sus propiedades, mtodos y atributos de
manera prctica, enfatizando la correcta utilizacin de cada uno de estos
componentes. Para abordar los temas antes mencionado en esta segunda unidad se
utiliza el lenguaje de JAVA, donde el estudiante conoce los diferentes elementos que
conforman una interfaz grfica utilizando los mtodos y atributos de cada uno de ellos
para poder personalizar las interfaces creadas.
En la unidad tres se tratan los temas referentes a los elementos avanzados para el
diseo y desarrollo de interfaces grficas de usuario, entre ellos aqullos que facilitan
la organizacin y visualizacin de datos, as como los que permiten una gestin
bsica de bases de datos. Las practicas presentadas para el abordaje de estos
Fecha de Actualizacin 26/08/2010

Pgina 1

temas, implica el desarrollo de aplicaciones sencillas donde se pueda integrar los


elementos estudiados en la unidad II.
Se incluye una cuarta unidad en la que se propone desarrollar Aplicaciones con
interfaz grfica que sean enfocadas a la interaccin entre el usuario, los sistemas
electrnicos y dispositivos externos a la computadora, sugiriendo reas como la
adquisicin y procesamiento de datos, control de dispositivos (actuadores, motores) y
almacenamiento de informacin (bases de datos).

Unidad 1.
Interfaces Grficas de Usuario
1.1. Fundamentos de programacin orientada a objetos.
1.2. Introduccin a la programacin de interfaces graficas de usuario.
1.3. Lenguajes de programacin para el desarrollo de interfaces graficas de usuario.

Fecha de Actualizacin 26/08/2010

Pgina 2

Prctica 1

Subtema: Fundamentos de la programacin


Orientada a Objetos

Identificacin de elementos de
los objetos
1.- OBJETIVO

De una lista de objetos del mundo natural, identificar los atributos y mtodos de cada uno de ellos
2.- MARCO TERICO
Definicin de Objeto

Segn el Diccionario del Uso del Espaol de Mara Moliner (Ed. Gredos, 1983), en la tercera acepcin del
trmino objeto podemos leer: "Con respecto a una accin, una operacin mental, un sentimiento, etc., cosa de
cualquier clase, material o espiritual, corprea o incorprea, real o imaginaria, abstracta o concreta, a la cual
se dirigen o sobre la que se ejercen."
En POO, un objeto es un conjunto de datos y mtodos; como imaginamos que se habr quedado igual, le
vamos a dar ms pistas.
Los datos son lo que antes hemos llamado caractersticas o atributos, los mtodos son los comportamientos
que pueden realizar.
Lo importante de un sistema POO es que ambos, datos y mtodos estn tan intrnsecamente ligados, que
forman una misma unidad conceptual y operacional. En POO, no se pueden desligar los datos de los mtodos
de un objeto. As es como ocurre en el mundo real.
Fecha de Actualizacin 26/08/2010

Pgina 3

3.- MATERIAL, EQUIPO, REACTIVO o SOTFWARE A UTILIZAR


En la lista siguiente se describe el hardware, el software necesario para la elaboracin de la presente prctica;

Hojas en blanco
Lpices
Goma
Lista de objetos proporcionada porcel docente

4.- PROCEDIMIENTO

1. Identifica la lista de caractersticas, valores y acciones que realiza cada uno de los objetos
listados a continuacin.
a. Computadora
b. Telfono Celular
c. Refrigerador
d. Suter
e. Ventana
f. Camisa
g. Microondas
h. Lpiz
i. Vaso
j. Licuadora
5. RESULTADOS

En la Tabla siguiente, documenta la lista d caractersticas, valores y mtodos encontrados para cada uno de
los objetos de la lista presentada por el docente
Objeto

Caracterstica
s

Valores

Mtodos

a. Co
Fecha de Actualizacin 26/08/2010

Pgina 4

mp
uta
dor
a
b. Tel
fo
no
Cel
ula
r
c. Ref
rig
era
dor
d. Su
te
r
e. Ve
nta
na
f. Ca
mis
a
g. Mic
roo
nd
as
h. L
piz
i. Vas
o
j. Lic
uad
ora

6. CONCLUSIONES
Fecha de Actualizacin 26/08/2010

Pgina 5

Escribe las conclusiones a las que llegaste al trmino de la presente prctica

7.-BIBLIOGRAFA
1. Java con Programacin Orientada a Objetos. Editoria ITEMEX
2. Lenguaje de programacin Java. Sun Microsystems, Inc. (2008). SL-275-SE6.
3. Conceptos de la programacin orientada a objetos. Alfonseca, M. Alcal, A.

Fecha de Actualizacin 26/08/2010

Pgina 6

Prctica 2

SUBTEMA: Fundamentos de
Programacin Orientada a
Objetos

Programacin de Mtodos en Java


1.- OBJETIVO

Analizar las diferencias existentes en programas con el uso de mtodos y sin mtodos con y sin parmetros
2.- MARCO TERICO
Mtodos en JAVA

Los mtodos definen el comportamiento de los objetos de una clase dada (lo que podemos hacer con los
objetos de esa clase) Los mtodos exponen la interfaz de una clase. Un mtodo define la secuencia de
sentencias que se ejecuta para llevar a cabo una operacin:
La implementacin de la clase se oculta del exterior.
Los mtodos...

Nos dicen cmo hemos de usar los objetos de una clase.

Nos permiten cambiar la implementacin de una clase sin tener que modificar su interfaz (esto es, sin
tener que modificar el cdigo que utiliza objetos de la clase cuya implementacin cambiamos)

Sintaxis en Java:
modificadores tipo nombre ( parmetros )
{
cuerpo
Fecha de Actualizacin 26/08/2010

Pgina 7

}
La estructura de un mtodo se divide en:
Cabecera (determina su interfaz)
Modificadores tipo nombre ( parmetros )

Cuerpo (define su implementacin)


{
// Declaraciones de variables
...
// Sentencias ejecutables
...
// Devolucin de un valor (opcional)
...
}
En el cuerpo del mtodo se implementa el algoritmo necesario para realizar la tarea de la que el mtodo es
responsable. El cuerpo de un mtodo se puede interpretar como una caja negra que contiene su
implementacin:

El mtodo oculta los detalles de implementacin.

Cuando utilizamos un mtodo, slo nos interesa su interfaz.

Ejemplo
El punto de entrada a una aplicacin escrita en Java
public static void main (String[] args)

Fecha de Actualizacin 26/08/2010

Pgina 8

{
...
}
El modificador de acceso public indica que se puede acceder a este miembro de la clase desde el
exterior de la clase.
El modificador static indica que se trata de un mtodo de clase (un mtodo comn para todos los
objetos de la clase).
La palabra reservada void indica que, en este caso el mtodo main no devuelve ningn valor.
En general, no obstante, los mtodos son capaces de devolver un valor al terminar su ejecucin.
Los parntesis nos indican que se trata de un mtodo: Lo que aparece entre parntesis son los
parmetros del mtodo (en este caso, un vector de cadenas de caracteres, que se representan en Java
con objetos de tipo String ).
El cuerpo del mtodo va delimitado por llaves { }
.
El texto correspondiente al cdigo que se ejecuta al invocar un mtodo se sangra con respecto a la
posicin de las llaves que delimitan el cuerpo del mtodo.
3.- MATERIAL, EQUIPO, REACTIVO o SOTFWARE A UTILIZAR
En la lista siguiente se describe el hardware, el software necesario para la elaboracin de la presente prctica;

Editor de programas en Java JCreator


Compilador JDK 1.6 o superior
1 Computadora con los dos programas instalados

4.- PROCEDIMIENTO

Fecha de Actualizacin 26/08/2010

Pgina 9

1. Copia cuidadosamente el siguiente programa el JCreator


import java.lang.*;
import java.io.*;
public class SinMetodos
{
public static void main (String arg[]) throws IOException
{
BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));
double cPracLb=0,calp1=0,calp2=0,calp3=0;
double ctarea1=0,ctarea2=0;
double cexamFin=0,cproyFin=0;
double practicas=0,tareas=0,proyFin=0,ExamF=0,parciales=0;
double promedio=0;
System.out.print("Ingresa la Calificacin de Practicas de Laboratorio: ");
cPracLb=Double.parseDouble(teclado.readLine());
System.out.print("Ingresa la Calificacin del parcial 1
calp1=Double.parseDouble(teclado.readLine());
System.out.print("Ingresa la Calificacin del parcial 2
calp2=Double.parseDouble(teclado.readLine());
System.out.print("Ingresa la Calificacin del parcial 3
calp3=Double.parseDouble(teclado.readLine());

: ");

System.out.print("Ingresa la Calificacin de la tarea 1


ctarea1=Double.parseDouble(teclado.readLine());
System.out.print("Ingresa la Calificacin de la tarea 2
ctarea2=Double.parseDouble(teclado.readLine());

: ");

System.out.print("Ingresa la Calificacin del Examen Final


cexamFin=Double.parseDouble(teclado.readLine());
System.out.print("Ingresa la Calificacin del Proyecto Final
cproyFin=Double.parseDouble(teclado.readLine());

: ");
: ");

: ");
: ");
: ");

parciales = (calp1+calp2+calp3)/3*0.30;
Fecha de Actualizacin 26/08/2010

Pgina 10

proyFin = cproyFin*0.20;
ExamF
= cexamFin*0.10;
practicas = cPracLb*.35;
tareas = (ctarea1+ctarea2)/2*0.05;

promedio=parciales+proyFin+ExamF+practicas+tareas;
System.out.print("El promedio Final es
: "+promedio);

2. Compila el programa copiado, y en caso de tener errores, verifica y corrige lo que te haya
marcado como error
3. Para facilitar el anlisis de los resultados, escribe 100 en cada valor que te solicita
4. Contesta las siguientes preguntas
a. Cul es el resultado obtenido?
b. En que seccin se encuentra escrito el cdigo que se ha ejecutado para obtener e
resultado?
5.

Ahora copia el siguiente programa

import java.lang.*;
import java.io.*;
public class ConMetodos
{
BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));
public static void main (String arg[]) throws IOException
{
ConMetodos programa = new ConMetodos();
programa.ObtenerPromedio();
}
void ObtenerPromedio() throws IOException
{
Fecha de Actualizacin 26/08/2010

Pgina 11

double
double
double
double
double

cPracLb=0,calp1=0,calp2=0,calp3=0;
ctarea1=0,ctarea2=0;
cexamFin=0,cproyFin=0;
practicas,tareas,proyFin,ExamF,parciales;
promedio=0;

System.out.print("Ingresa la Calificacin de Practicas de Laboratorio: ");


cPracLb=Double.parseDouble(teclado.readLine());
System.out.print("Ingresa la Calificacin del parcial 1
calp1=Double.parseDouble(teclado.readLine());
System.out.print("Ingresa la Calificacin del parcial 2
calp2=Double.parseDouble(teclado.readLine());
System.out.print("Ingresa la Calificacin del parcial 3
calp3=Double.parseDouble(teclado.readLine());

: ");

System.out.print("Ingresa la Calificacin de la tarea 1


ctarea1=Double.parseDouble(teclado.readLine());
System.out.print("Ingresa la Calificacin de la tarea 2
ctarea2=Double.parseDouble(teclado.readLine());

: ");

System.out.print("Ingresa la Calificacin del Examen Final


cexamFin=Double.parseDouble(teclado.readLine());
System.out.print("Ingresa la Calificacin del Proyecto Final
cproyFin=Double.parseDouble(teclado.readLine());

: ");
: ");

: ");

: ");

: ");

parciales = porcentaje(calp1,calp2,calp3);
proyFin = porcentaje(cproyFin,2);
ExamF
= porcentaje(cexamFin,3);
practicas = porcentaje(cPracLb,1);
tareas = porcentaje(ctarea1,ctarea2);
promedio=parciales+proyFin+ExamF+practicas+tareas;
System.out.print("El promedio Final es
: "+promedio);

Fecha de Actualizacin 26/08/2010

Pgina 12

double porcentaje (double cal, int criterio) // Porcentaje de practicas de laboratorio 30%
{
// proyecto final 25% y Examen Final 20%
double calPor= 0;
switch (criterio)
{
case 1: calPor=cal * .35;break;
case 2: calPor=cal * .20;break;
case 3: calPor=cal * .10;break;
default :
}
System.out.println("Porcentaje: "+calPor+" Tipo: "+criterio);
return calPor;
}

double porcentaje (double cal1, double cal2, double cal3 ) // Porcentaje de 3 examenes
{
double calPor=0,prom=0;
prom=(cal1+cal2+cal3)/3;
calPor=prom*0.30;
System.out.println("Porcentaje Examen: "+calPor);
return calPor;
}
double porcentaje (double tarea1, double tarea2)
{
double calPor=0,prom=0;
prom=(tarea1+tarea2)/2;
calPor=prom*0.05;
System.out.println("Porcentaje Tarea: "+calPor+" promedio: "+prom);
return calPor;
}

Fecha de Actualizacin 26/08/2010

Pgina 13

6. Contesta las preguntas con respecto al programa anterior


a. Qu diferencia existe entre el programa del punto 1 y el programa del punto 4?
b. Poniendo los mismos valores al ejecutar el programa varia en algo el resultado?
c. Cules son los mtodos encontrados en el programa y que funcionalidad realiza
cada uno de ellos?
d. Identifica en la siguiente tabla cada uno de los mtodos, su tipo, su nombre, la lista
de parmetros y la funcin que realiza cada uno de ellos
Tipo del
Mtodo

Nombre

Lista de parmetros

Funcin que realiza

5. RESULTADOS

El alumno habr identificado la forma en la que el uso de los mtodos son aplicados en
programas orientados a objetos.
6. CONCLUSIONES

Escribe al menos tres conclusiones del uso de los mtodos aprendido en la presente prctica
Fecha de Actualizacin 26/08/2010

Pgina 14

7.-BIBLIOGRAFA

1) Java con Programacin Orientada a Objetos. Editoria ITEMEX


2) Lenguaje de programacin Java. Sun Microsystems, Inc. (2008). SL-275-SE6
3) Conceptos de la programacin orientada a objetos. Alfonseca, M. Alcal, A.

Fecha de Actualizacin 26/08/2010

Pgina 15

Prctica 3

SUBTEMA: Introduccin a la
Programacin Orientada a
Objetos

Uso de Mtodo en solucin de


problemas
Observaciones: Esta prctica se basa en el conocimiento adquirido
en a prctica # 2, por lo cual puedes tomarla como base para
poder desarrollar la presente

1.- OBJETIVO
Realizar la solucin de un problema mediante el uso de mtodos
2.- MARCO TERICO
Toma como base, la fundamentacin terica establecida en prctica #2, y analiza el problema
presentado, obteniendo como resultado el programa con uso de mtodos en el desarrollo de su
solucin
3.- MATERIAL, EQUIPO, REACTIVO o SOTFWARE A UTILIZAR

En la lista siguiente se describe el hardware, el software necesario para la elaboracin de la presente prctica;

Editor de programas en Java JCreator


Compilador JDK 1.6 o superior
1 Computadora con los dos programas instalados

Fecha de Actualizacin 26/08/2010

Pgina 16

4.- COMPETENCIAS ESPECFICAS

1. Realizar el anlisis del problema en equipos de 2 alumnos, el anlisis debe contener una
breve descripcin de la forma en la que abordaras el problema, los mtodos que
necesitaras para resolverlo, la lista de parmetros necesarios para cada mtodo detectado.
2. Despus de haber realizado el anlisis, en parejas, debers hacer el programa
implementando la solucin encontrada en el anlisis del paso anterior.
3. En un archivo en Word, debes aadir el programa y capturas las pantallas de resultados.
Problemtica a resolver
Crea un aplicacin que nos convierta una cantidad de euros introducida por teclado a otra moneda, estas
pueden ser a dlares, yenes o libras. El cambio de divisas son:

0.86 libras es un 1

1.28611 $ es un 1

129.852 yenes es un 1

5. RESULTADOS
El alumno implementa un programa utilizando mtodos
6. CONCLUSIONES
El alumno realiza una solucin de un problema con el uso adecuado de mtodos
7.-BIBLIOGRAFA
Fecha de Actualizacin 26/08/2010

Pgina 17

Java con Programacin Orientada a Objetos. Editoria ITEMEX


Lenguaje de programacin Java. Sun Microsystems, Inc. (2008). SL-275-SE6
Conceptos de la programacin orientada a objetos. Alfonseca, M. Alcal, A.

Unidad 2.
Elementos bsicos de la interfaz
grfica de usuario
2.1. Introduccin al entorno de desarrollo
2.2. Ventanas
2.3. Etiquetas
2.4. Botones
2.5. Introduccin de texto
2.6. Listas desplegables
2.7. Barras de desplazamiento
Fecha de Actualizacin 26/08/2010

Pgina 18

Prctica
Creacin 4de
identificacin
propiedades

SUBTEMA:
Ventanas

ventanas
e
de
sus

1.- OBJETIVO
Crear ventanas de entorno grfico como base para el desarrollo de formularios para
soluciones de aplicaciones.
2.- MARCO TEORICO
En las interfaces grficas de usuario, existen varios elementos que las conforman, un componente
principal son las ventanas, que son los contenedores principales que contienen cada uno de los
elementos que representan la interaccin con un usuario, a continuacin se explicara las libreras
necesarias para su creacin y ejemplo de cmo se utilizan.

3.- MATERIAL, EQUIPO O REACTIVO


En la lista siguiente se describe el hardware, el software necesario para la elaboracin de la presente prctica;

Editor de programas en Java JCreator


Compilador JDK 1.6 o superior
1 Computadora con los dos programas instalados

Fecha de Actualizacin 26/08/2010

Pgina 19

4.- PROCEDIMIENTO
1. Copia en el editor JCreator el siguiente cdigo
/*Uso y manejo de Ventanas con Java
*Progamacin Visual Ene - Jun 2015
*Elabor: Lic. Guadalupe Flores Daz
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class UsoVentanas
{
public UsoVentanas()
{
JFrame ventana = new JFrame("Mi primera Ventana");
JLabel etiqueta = new JLabel("Hola Mundo");
ventana.getContentPane().add(etiqueta);
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ventana.pack();
ventana.setVisible(true);
ventana.setLocation(300,300);
}
public static void main(String args [])
{
UsoVentanas MiAplicacion = new UsoVentanas();
}
}
2. Compila y verifica que no existan errores sintcticos, si esto es as, ejecuta el programa.
Fecha de Actualizacin 26/08/2010

Pgina 20

a. Qu resultado aparece?
3. Analicemos una a una de las instrucciones que permiten que aparezca la ventna resultante,
describe la funcin que realiza cada una de ellas
4. JFrame ventana = new JFrame("Mi primera Ventana");
___________________________________________________________________________________
__
____________________________________________________________________________________
____________________________________________________________________________________
____________________________________________________________________________________
_____
5. JLabel etiqueta = new JLabel("Hola Mundo"); Cambia Hola mundo por Hola y tu nombre Qu
sucede?
____________________________________________________________________________________
____________________________________________________________________________________
___
6. ventana.getContentPane().add(etiqueta); Quita la instruccin poniendo en comentarios, vuelve a
ejecutar el programa Que sucede al hacer esto?,
____________________________________________________________________________________
____________________________________________________________________________________
___ para que crees que sirve esta instruccin?
____________________________________________________________________________________
____________________________________________________________________________________
____
7. ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Esta instruccin, nos sirve para que al cerrar la ventana con el icono de salir de la ventana, se
pueda liberar la memoria ocupada y finalizar correctamente la aplicacin
8. ventana.pack(); Ajusta la ventana al contenido de la misma
9. ventana.setVisible(true); Al inicializar la aplicacin la hace visible para el usuario
10. ventana.setLocation(300,300); Cambia los valores establecidos en esta instruccin y anota lo que
sucede al volver a ejecutaar el programa
____________________________________________________________________________________
____________________________________________________________________________________
Fecha de Actualizacin 26/08/2010

Pgina 21

____________________________________________________________________________________
____

5.- RESULTADOS
El alumno identifica la forma en la que se puede crear un contenedor para los componentes
grficos
6.- CONCLUSIONES
Escribe las dudas que hayas tenido en la creacin de un contenedor grafico
7.- BIBLIOGRAFA
a) Java 7. Francisco Javier Moldes Teo
b) Java 2. Curso de Programacin. Francisco Javier Ceballos Sierra
c) Java 2. Curso Prctico. Antonio J. Martin sierra
d) Como programar con Java. Deitel

Fecha de Actualizacin 26/08/2010

Pgina 22

Prctica 5

SUBTEMA: Etiquetas

Creacin y uso de Etiquetas


Nota: Utilizars
creacin de ventanas

el cdigo de la prctica #4, al de

1.- OBJETIVO
Crear etiquetas dentro de los contenedores, modificando los
atributos principales de cada una de stas

2.- MARCO TEORICO


Las etiquetas en programacin de interfaces grficas de usuario son elementos importantes, ya que
muestran al usuario final informacin acerca del problema a solucionar, el texto de las etiquetas no
puede ser seleccionado por el usuario, sin embargo existen instrucciones especficas que permiten el
acomodo y personalizacin de cada una de ellas. En el ejemplo del apartado 2.2, se cre y aadi a la
ventana una etiqueta que dice Hola Mundo, analicemos las instrucciones que son necesarias para tal
efecto.

JLabel etiqueta = new JLabel("Hola Mundo"); Esta es la instruccin que nos permite crear el
texto que queremos que aparezca en nuestra ventana grfica. El texto que se encuentra entre
comillas es el texto que tu quieres que aparezca, ste lo puedes cambiar de acuerdo a las
necesidades del problema que estas solucionando. Etiqueta representa el nombre que le dars al
componente, es importante mencionar que pongas un nombre relacionado con el texto, ya que de

Fecha de Actualizacin 26/08/2010

Pgina 23

lo contrario al aadirlas a la interfaz correspondiente puedes equivocarte y ocasionar algunos


problemas en tu programa.
ventana.getContentPane().add(etiqueta); Con esta instruccin podemos aadir a nuestra
ventana la etiqueta(s) creada(s), por cada etiqueta que aadas, debers poner esta instruccin, ya
que de lo contrario no aparecern en automtico.
Las etiquetas, al igual que en las ventanas tienen asociadas a ellas ciertas instrucciones que te permitirn entre
otras cosas el acomodo de las mimas en la posicin correcta, resaltarlas, ponerles imgenes entre otras,
veamos a continuacin los mtodos ms utilizados en las etiquetas.

Las instrucciones antes descritas, al igual que en las de la ventana, debes anteponer el nombre de la
etiqueta, un punto y la instruccin que quieras aplicar. Para Aprender un poco ms de acerca del uso y
manejo de las etiquetas, incluya en el programa anterior las siguientes instrucciones una a una, a anote
los comentarios acerca de que es lo que pasa en cada una de ellas:
3.- MATERIAL, EQUIPO O REACTIVO
a) 1 Computadora
b) JDK instalado 1.6 o superior
c) JCreator instalado

Fecha de Actualizacin 26/08/2010

Pgina 24

4. PROCEDIMIENTO
1. Considerando el cdigo de la prctica anterior, aade la instruccin ventana.setlLayout(null); justo
debajo de la lnea que dice JFrame ventana = new JFrame("Mi primera Ventana"); aade una a una
las siguientes instrucciones, compila el programa y anota la funcin que realiza cada una de ellas. Para
poder observar el efecto que tienen las instrucciones de la tabla siguiente es necesario que despus
crear tu ventana, introduzcas la siguiente instruccin, esto solo lo tienes que realizar una sola vez.

Instruccin(es)
etiqueta.setText(Aprendiendo el uso de
etiquetas);
etiqueta.setOpaque(true);
etiqueta.setBackground(new
Color(100,200,1));

Funcin que realiza

etiqueta.setForeground(Color.BLUE);
etiqueta.setBounds(40,100,250,30);
etiqueta.setBounds(100,40,250,30);
etiqueta.setBounds(40,100,30,250);

Fecha de Actualizacin 26/08/2010

Pgina 25

2. Despus de haber analizado el comportamiento de cada una de las instrucciones dela tabla anterior,
realiza el siguiente ejercicio.
Realiza una ventana que contenga seis etiquetas, las cuales debern decir lo siguiente:
a)
b)
c)
d)
e)
f)

Esto es un ejemplo de uso de Etiquetas


Las etiquetas son importantes para brindar informacin
Se pueden acomodar de diferentes maneras
Se les puede cambiar el color de fondo
y tambin el color de la letra
Para mejor la interfaz del usuario

Colocar las etiquetas en posiciones diferentes, y colores tambin distintos tanto de fondo como de letra,
recuerda el contraste que debe existir para que stas sean claras a la vista del usuario, no debern estar
amontonados.

5.- RESULTADOS
Contesta las siguientes preguntas, considerando como base el ejercicio realizado
a)
b)
c)
d)
e)

Cuantas etiquetas necesitas para la solucin del ejercicio?


Cul es la forma de declaracin de cada uno de estos ejercicios?
Por qu no puedes hacerlo sobre una misma etiqueta?
Cul es la instruccin de acomodo de cada una de ellas?
Cul es la funcionabilidad que le puedes dar a las etiqutas?

6.- CONCLUSIONES.
Anota las conclusiones a las cuales llegaste con el uso de las etiquetas,
Fecha de Actualizacin 26/08/2010

Pgina 26

7.- BIBLIOGRAFA
a) Java 7. Francisco Javier Moldes Teo
b) Java 2. Curso de Programacin. Francisco Javier Ceballos Sierra
c) Java 2. Curso Prctico. Antonio J. Martin sierra
d) Como programar con Java. Deitel

Fecha de Actualizacin 26/08/2010

Pgina 27

Prctica

SUBTEMA:
BOTONES

Creacin, uso y manipulacin de


botones.
1.- OBJETIVO
Implementar Botones, que permitan realizar acciones dentro de un formulario creado.
2.- MARCO TERICO
Los botones dentro de las interfaces grficas son elementos sumamente importantes, ya que con ellos se le
puede dar funcionalidad a los elementos que la integran, general mente con los botones, el usuario puede dar
una orden de accin a la interfaz en cuestin, al igual que las etiquetas, los botones tienen que ser creados y
aadidos a la interfaz, y podrs crear todos los que necesites, veamos cmo se pueden crear y manipular los
botones.
En lugar de la instruccin JLabel, debers poner la instruccin JButton y en lugar del nombre etiqueta, pon el
nombre botn(Esto es recomendado para que cuando hagas uso de un elemento sepas exactamente a cual
nombre referenciar). Veamos que sucede y como quedara tu programa.
3.- MATERIAL, EQUIPO, REACTIVO o SOTFWARE A UTILIZAR
En la lista siguiente se describe el hardware, el software necesario para la elaboracin de la presente prctica;
Fecha de Actualizacin 26/08/2010

Pgina 28

Editor de programas en Java JCreator


Compilador JDK 1.6 o superior
1 Computadora con los dos programas instalados

4.- PROCEDIMIENTO.
1. Copia el siguiente cdigo en el editor de Java
/*Uso y manejo de Ventanas con Java
*Programacin Visual Ene - Jun 2015
*
*Elabor: Lic. Guadalupe Flores Daz
*
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class UsoVentanas
{
public UsoVentanas()
{
JFrame ventana = new JFrame("Mi primera Ventana");
JButton boton = new JButton(Mi Primer Boton);
ventana.setLayout(null);
ventana.getContentPane().add(boton);
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ventana.setVisible(true);

Fecha de Actualizacin 26/08/2010

Pgina 29

ventana.setSize(450,450);
}

public static void main(String args [])


{
UsoVentanas MiAplicacn = new UsoVentanas();
}

2. De igual manera que en las etiquetas, realicemos las pruebas correspondientes a cada una de las
funciones antes descritas, pero ahora con el botn, para poder visualizar las acciones bsicas que se
pueden realizar con ellos en cuanto a apariencia se refiere
Instruccin(es)
boton.setText(Aprendiendo el uso de
etiquetas);
boton.setOpaque(true);
boton.setBackground(new
Color(100,200,1));
boton.setForeground(Color.BLUE);
boton.setBounds(40,100,250,30);
boton.setBounds(100,40,250,30);
boton.setBounds(40,100,30,250);

Funcin que realiza

Compila y ejecuta el programa, al presionar el botn creado, realiza alguna accin?


__________ Por qu crees que sucede lo anterior?
3.

______________________________________________________________________________
______________________________________________________________
6.- RESULTADOS
Fecha de Actualizacin 26/08/2010

Pgina 30

El alumno sabe cmo crear botones, localizarlos en la pantalla y cambiar algunas de sus
caractersticas
6.- CONCLUSIONES
El alumno aprende a crear botones , y cambiar sus caractersticas bsicas.

7.- BIBLIOGRAFA
a) Java 7. Francisco Javier Moldes Teo
b) Java 2. Curso de Programacin. Francisco Javier Ceballos Sierra
c) Java 2. Curso Prctico. Antonio J. Martin sierra
d) Como programar con Java. Deitel

Fecha de Actualizacin 26/08/2010

Pgina 31

Prctica 7

SUBTEMA: BOTONES:
Implementando acciones

Implementacin de acciones a los


botones del formulario
1.- OBJETIVO
Implementar comandos de accin a los botones en interfaces grficas.
2.- MARCO TERICO

La gran importancia de los botones es que la funcionalidad que se le puede aadir a cada uno de estos
componentes, de tal manera que cuando el usuario presione un clic sobre el botn, se realice una serie de
instrucciones que den solucin a la problemtica a resolver.
Para poder asignar estas instrucciones a un botn determinado, se debe realizar lo siguiente:
1) Aadir a donde dice public class la instruccin implements ActionListener, la cual permite aadir
funcionalidad a los botones y otros elementos que contenga la ventana. De tal manera que debe
quedar la instruccin completa de la siguiente manera.
public class UsoVentanas implements ActionListener
{
.
}
2) Despus de haber creado el botn, es necesario indicarle la accin que debe realizar, existen varias
formas de llevar a cabo esta indicacin para efectos de facilidad, utilizaremos la siguiente intruccion:
Fecha de Actualizacin 26/08/2010

Pgina 32

boton.addActionListener(this);
Se pude poner una vez creado el objeto o en cualquier parte del programa despus de que el botn
haya sido creado
3) Finalmente debes aadir en un mtodo especial las funciones que el botn debe realizar, lo cual se
hace con el siguiente grupo de instrucciones:
public void actionPerformed(ActionEvent e) //Se crea el mtodo especial para implementar acciones
{
if(e.getSource()==boton) //Se compara si el evento sucedi en el botn se usa el nombre del mismo
{
// En esta seccin se ponen todas las instrucciones que se van a realizar al presionar el botn
//Para no hacer un programa tan largo, puedes considerar la opcin de crear mtodos para
//cada uno de los botones que implementes, y solo pondras el llamado al mtodo
//correspondiente
JOptionPane.showMessageDialog(null, "Escogiste Guio");
}
}
El grupo de instrucciones antes descritas, se puden colocar despues del metodo llamado :
public static void main(String ars[ ]), o bien despus de haber cerrado la llave del constructor. Veamos el
ejemplo completo de cmo quedara la implementacin y uso de botones. Las partes sealadas en letra negrita
son las complementarias necesarias para el funcionamiento de los botones.
3.- MATERIAL, EQUIPO, REACTIVO o SOTFWARE A UTILIZAR
En la lista siguiente se describe el hardware, el software necesario para la elaboracin de la presente prctica;

Editor de programas en Java JCreator


Compilador JDK 1.6 o superior

Fecha de Actualizacin 26/08/2010

Pgina 33

1 Computadora con los dos programas instalados

4.- PROCEDIMIENTO
1. Copia el siguiente cdigo en un archivo nuevo
/*Uso y manejo de Ventanas con Java
*Progamacin Visual Ene - Jun 2015
*Elabor: Lic. Guadalupe Flores Daz
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class UsoVentanas implements ActionListener
{
JFrame ventana;
JButton boton;
public UsoVentanas() // Constructor
{
ventana = new JFrame("Mi primera Ventana");
boton = new JButton("Boton 1");
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ventana.setLayout(null);
boton.addActionListener(this);
ventana.getContentPane().add(boton);
Image icono = Toolkit.getDefaultToolkit().getImage("Jeremias29.jpg");
ventana.setIconImage(icono);
ventana.setResizable(false);
ventana.setVisible(true);
ventana.setSize(450,450);
}
public void actionPerformed(ActionEvent e) //sobreescribimos el metodo del listener
{
if(e.getSource()==boton)//podemos comparar por el nombre del objeto del boton
{
JOptionPane.showMessageDialog(null,"Has presionado el Boton");

Fecha de Actualizacin 26/08/2010

Pgina 34

}
}
// ****** Implementacion de clase principal, que se encarga de ejecutar el programa
public static void main(String args [])
{
UsoVentanas MiAplicacn = new UsoVentanas();
}
}

2. Compila y ejecuta el programa. Que cambios observas?


3. Realiza el siguiente ejercicio.
Ejercicio uso y manipulacin de botones con implementacin de acciones
Desarrollar un interfaz que contenga 3 botones, etiquetados como 1, 2 y 3, al presionar el botn 1,
el ttulo de la ventana se deber cambiar a Titulo Cambiado por Botn 1, al presionar el botn 2
cambiar el texto del Boton 2 y deber decir Acivado 2, al presionar el botn 3 deber crear visualizar u
ocultar una etiqueta que diga Estas usando el botn 3, si al presionar el botn 3 la etiqueta es visible, el
texto del botn debe decir Ocultar, si no es visible deber decir Mostrar. (Por default considere al inicio la
etiqueta oculta) Aplique cambio de color del texto del botn en cada accin. Los botones debern estar
acomodados, con un color de letra diferente cada uno de ellos.

5. RESULTADOS
Captura la ventana con botones creada como prueba de realizacin de la misma.

Fecha de Actualizacin 26/08/2010

Pgina 35

6.- CONCLUSIONES
Escribe al menos tres comentarios acerca de la creacin, uso y asignacin de tareas a los botones dentro de
las ventanas programadas.

7.- BIBLIOGRAFA
a) Java 7. Francisco Javier Moldes Teo
b) Java 2. Curso de Programacin. Francisco Javier Ceballos Sierra
c) Java 2. Curso Prctico. Antonio J. Martin sierra
d) Como programar con Java. Deitel

Fecha de Actualizacin 26/08/2010

Pgina 36

Prctica 8

SUBTEMA: Cuadros de Texto

Implementacin de cuadros de texto en los


formularios
1.- OBJETIVO.
Crear y utilizar cuadros de texto para entrada de datos por parte del usuario
2.- MARCO TERICO
Un cuadro de texto es el rea destinada en una interfaz grfica donde el usuario puede introducir informacin, y
de esta manera poder interactuar con la computadora, al igual que los elementos que hemos estado analizando
anteriormente como son las ventanas, etiquetas y botones, los cuadros de texto se deben declarar, crear y
aadir a la ventana, as como tambin se le pueden cambiar propiedades como el color del fondo, de la letra, y
la posicin donde estar ubicada. Considerando las caractersticas que debe tener una buena interfaz grfica
de usuario. A continuacin analizaremos como se puede construir un cuadro de texto, modificar y las diferentes
formas en las que se puede utilizar.
Para crear e inicializar una etiqueta, se utiliza la instruccin JLabel, para un botn el comando JButton y en este
caso para la creacin de los cuadros de texto debers utilizar la instruccin JTextField, de igual manera que en
los componentes anteriores, es necesario que le pongas un nombre adecuado a cada cuadro de texto, esto con
la finalidad de no confundirte cuando los ests utilizando.
Fecha de Actualizacin 26/08/2010

Pgina 37

Una caracterstica importante que debes conocer de los cuadros de texto, es que todo lo que en ellos se
introduzca es en forma de texto, es decir en forma de cadena, de esta manera si introduces un valor numrico,
antes de poderlo utilizar como tal debes convertirlo, ya sea en valor entero (Integer.parseInt) o en valor double
(Double.parseDouble) o flotante. Veamos un ejemplo y analicemos cada una de sus partes.

3.- MATERIAL, EQUIPO, REACTIVO o SOTFWARE A UTILIZAR


En la lista siguiente se describe el hardware, el software necesario para la elaboracin de la presente prctica;

Editor de programas en Java JCreator


Compilador JDK 1.6 o superior
1 Computadora con los dos programas instalados

4.- PROCEDIMIENTO
1. Tomando coma base el programa de la prctica anterior, gurdalo como ProgCuadroTexto y modifcalo de
tal forma que quede como el siguiente cdigo. (Recuerda cambiar el nombre de la clase por el nombre del
archivo:
/*Uso y manejo de Cuadros de Texto con Java
*Programacin Visual Ene - Jun 2015
*Elabor: Lic. Guadalupe Flores Daz
*/

Fecha de Actualizacin 26/08/2010

Pgina 38

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class CuadrosTexto implements ActionListener
{
JFrame
ventana;
JButton
bUno,bDos,bTres;
JLabel
etiqueta;
JTextField txtTexto;
boolean visible;
public CuadrosTexto()
{
ventana = new JFrame("Uso de Cuadros de Texto");
bUno
= new JButton("Verificar");
etiqueta = new JLabel("Introduza un Dato");
txtTexto = new JTextField();
visible = false;
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ventana.setLayout(null);
bUno.setOpaque(true);
bUno.setForeground(Color.BLUE);
bUno.setBounds(40,170,250,30);
bUno.addActionListener(this);
etiqueta.setBounds(40,40,120,30);
etiqueta.setOpaque(true);
etiqueta.setBackground(Color.YELLOW);
etiqueta.setForeground(Color.GREEN);
txtTexto.setBounds(180,40,100,30);
ventana.getContentPane().add(etiqueta);
ventana.getContentPane().add(txtTexto);
ventana.getContentPane().add(bUno);
Fecha de Actualizacin 26/08/2010

Pgina 39

ventana.setIconImage(icono);
ventana.setResizable(false);
ventana.setVisible(true);
ventana.setSize(450,450);

public void actionPerformed(ActionEvent e) //sobreescribimos el metodo del listener


{
if(e.getSource()==bUno)//podemos comparar por el nombre del objeto del boton
{
etiqueta.setText("Ha introducido: "+txtTexto.getText());
}
}
// ************** Implementacin de clase principal, que se encarga de ejecutar el programa
public static void main(String args [])
{
CuadrosTexto MiAplicacn = new CuadrosTexto();
}
// ********** Implementacin de acciones a realizar por elementos grficos
}

2. Identifica que funcin realiza cada una de las siguientes lneas de comando, y escribe dicha funcionalidad
en las lineas
a) JTextfield txtTexto;
_____________________________________________________________________________________
_____________________________________________
b) txtTexto = new JTextField();
_________________________________________________________________
c) txtTexto.setBounds(180,40,100,30);
_________________________________________________________________

Fecha de Actualizacin 26/08/2010

Pgina 40

d) Vent ana.getContentPane().add(txtTexto);
_________________________________________________________________
e) txtTexto.getText()); _________________________________________________________________
________________________________________________________________
3. Al igual que los botones, etiquetas, el cuadro de texto se puede utilizar instrucciones especiales que
mejoran su apariencia, los ms utilizados son los siguientes: (Realice estas acciones en su programa
muestra , compile y ejecute su programa, anote que hace cada una de las instrucciones) Realice una por
una.
Instruccin(es)
txtTexto.setText(Aprendiendo el uso de
Cuadros );
txtTexto.setBackground(new
Color(100,200,1));

Funcin que realiza

txtTexto.setForeground(Color.BLUE);
txtTexto.setBounds(40,100,250,30);
txtTexto.setBounds(100,40,250,30);
txtTexto.setBounds(40,100,30,250);
txtTexto.setEnabled(false);
txtTexto.setEnabled(true);
etiqueta.setTextext(txtTexto.getText());

4. Ejercicio de creacin, uso y manipulacin de Cuadros de Texto.


Crear una ventana que contenga dos etiquetas, dos cuadros de texto y un botn, y realice lo siguiente:
Una etiqueta deber decir en su contenido Usuario y la otra Contrasea. En una cuadro de texto servir
para introducir el nombre y el otro para introducir la contrasea. El nombre del usuario ser el nombre
del alumno y la contrasea Secreto Al presionar el botn, si es correcto deber poner la etiqueta,
cuadro de texto en color verde, pero si no es correcto en color rojo.
5. RESULTADOS
Captura la ventana del ejercicio creado para verificar el uso adecuado de los cuadros de texto
Fecha de Actualizacin 26/08/2010

Pgina 41

6.- CONCLUSIONES
Escribe al menos tres comentarios acerca de la creacin, uso y asignacin de tareas a los botones dentro de
las ventanas programadas.
7.- BIBLIOGRAFA
e) Java 7. Francisco Javier Moldes Teo
f) Java 2. Curso de Programacin. Francisco Javier Ceballos Sierra
g) Java 2. Curso Prctico. Antonio J. Martin sierra
h) Como programar con Java. Deitel

Fecha de Actualizacin 26/08/2010

Pgina 42

Prctica 9

SUBTEMA: Listas Desplegables

Implementacin de listas desplegables en los


formularios
1.- OBJETIVO.
Crear y utilizara las listas desplegables en un entorno grfico
2.- MARCO TERICO
Las listas desplegables permiten al usuario seleccionar de una lista de opciones, previamente establecidos,
este componente al igual que el anterior debe ser creado, inicializado con los valores que contiene la lista, y
posteriormente manipulado para que se pueda utilizar el valor seleccionado por el usuario. Los valores iniciales
pueden estar previamente definidos, en caso de ser necesario pueden ser tambin aadidos por el usuario,
para lo cual se requiere del uso de almacenamiento de datos, lo cual se analizar en la unidad tres. Analicemos
las instrucciones que son necesarias para el uso y manejo de este componente grfico.
Analicemos el cdigo del siguiente ejemplo:
/*Uso y manejo de Ventanas con Java
*Progamacin Visual Ene - Jun 2014
*Elabor: Lic. Guadalupe Flores Daz
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

Fecha de Actualizacin 26/08/2010

Pgina 43

public class UsoVentanas implements ActionListener


{
JFrame
ventana;
JButton boton;
JComboBox lista;
JTextField cuadroTxt;
public UsoVentanas()
{
ventana = new JFrame("Mi primera Ventana");
boton = new JButton("Boton 1");
lista = new JComboBox();
cuadroTxt= new JTextField();
cuadroTxt.setBounds(200,150,100,50);
lista.setBounds(50,150,100,50);
lista.addItem("Valor 1 Lista");
lista.addItem("Valor 2 Lista");
lista.addItem("Valor 3 Lista");
lista.addItem("Valor 4 Lista");
lista.addItem("Valor 5 Lista");
lista.addActionListener(this);
ventana.getContentPane().add(cuadroTxt);
ventana.getContentPane().add(lista);
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ventana.setLayout(null);
boton.setText("Aprendidendo acerca de Botones");
boton.setOpaque(true);
boton.setBackground(new Color(200,150,2));
boton.setForeground(Color.BLUE);
boton.setBounds(40,100,250,30);
boton.addActionListener(this);
Fecha de Actualizacin 26/08/2010

Pgina 44

ventana.getContentPane().add(boton);
Image icono = Toolkit.getDefaultToolkit().getImage("Jeremias29.jpg");
ventana.setIconImage(icono);
ventana.setResizable(false);
ventana.setVisible(true);
ventana.setSize(450,450);
}
public void actionPerformed(ActionEvent e) //sobreescribimos el metodo del listener
{
if(e.getSource()==boton)//podemos comparar por el nombre del objeto del boton
{
JOptionPane.showMessageDialog(null,"Has presionado el Boton");
}
if(e.getSource()==lista)//podemos comparar por el nombre del objeto del boton
{
cuadroTxt.setText(lista.getSelectedItem().toString());
}
}

// ************** Implementacion de clase principal, que se encarga de ejecutar el programa


public static void main(String args [])
{
UsoVentanas MiAplicacn = new UsoVentanas();
}

3.- MATERIAL, EQUIPO, REACTIVO o SOTFWARE A UTILIZAR


En la lista siguiente se describe el hardware, el software necesario para la elaboracin de la presente prctica;

Editor de programas en Java JCreator


Compilador JDK 1.6 o superior

Fecha de Actualizacin 26/08/2010

Pgina 45

1 Computadora con los dos programas instalados

4.- PROCEDIMIENTO
Identifica en el cdigo anterior, cada uno de las siguientes instrucciones y escribe en la lnea la accin que
realizan dentro del programa
a)
b)
c)
d)
e)

JComboBox lista; ______________________________________________


lista = new JComboBox(); _____________________________________
lista.setBounds(50,150,100,50); ____________________________________
lista.addItem("Valor 1 Lista"); ____________________________________
lista.addActionListener(this); Al igual que en los botones, es indispensable aadir un escuchador, ya
que ste permitir utilizar el valor que seleccione el usuario, ya sea para almacenarlo, compararlo o
realizar una accin especfica con dicho valor
f) ventana.getContentPane().add(lista); Todos los componentes que has declarado, es necesario
aadirlos a la ventana para que cuando la ejecutes puedan ser visible al usuario, y puedan realizar la
accin para la cual fueron programados. No es la excepcin de las listas desplegables, como puedes
observar es la misma instruccin que utilizas en los dems componentes solo debes poner el nombre del
componente a arreglar.
g) lista.getSelectedItem().toString()); Esta instruccin te permitir utilizar el elemento que ha sido
seleccionado, el cual podrs comparar o hacer cualquier operacin requerida para el funcionamiento del
mismo.
Las instrucciones anteriores son las bsicas que deben utilizarse, a continuacin analizaremos algunas
otras que existen en torno a este componente.

Fecha de Actualizacin 26/08/2010

Pgina 46

3. basado en el programa del ejemplo, aade una a una las siguientes instrucciones, compila y ejecuta el
programa, anota en el recuadro que es lo que hace cada una de ellas.
Instruccin
lista.setEnabled(false);
lista.setEnabled(true);
cuadroTxt.setText(El elemento 3 es:
+lista.getItemAt(3).toString());
cuadroTXT.setText(La lista tiene
+lista.getItemCount()+ valores);
lista.setBackground(Color.GREEN);
lista.setForeground(Color.YELLOW);
lista.setVisible(false);
lista.setVisible(true);

Descripcin

4. Ejercicio de creacin, uso y manipulacin de Listas Desplegables


Crear una ventana con dos listas desplegables, y dos cuadros de texto, la primera lista desplegable
contendr los nombres de 10 estados de la Repblica, la segunda lista desplegable contendr 10
nombres de carreras universitarias. Cada vez que se seleccione un elemento de cada lista, en el primer
cuadro de texto se deber indicar el nombre de la lista de la cual se ha seleccionado un elemento y en el
segundo el nmero de elemento que ha seleccionado, as mismo cuando seleccione un estado, los
cuadros de texto deben ser en color de fondo rojo con color de letra blanco, y cuando se seleccione una
carrera universitaria, los cuadros debe cambiar a fondo negro con letras amarillas. Recuerda poner las
etiquetas que consideres necesarias. As como tambin acomdalos de una manera visualmente
ordenado.
5. RESULTADOS
Captura las pantallas que evidencien la actividad desarrollada

Fecha de Actualizacin 26/08/2010

Pgina 47

6.- CONCLUSIONES
Escribe al menos tres conclusiones del uso de las listas desplegables

7.- BIBLIOGRAFA
i) Java 7. Francisco Javier Moldes Teo
j) Java 2. Curso de Programacin. Francisco Javier Ceballos Sierra
k) Java 2. Curso Prctico. Antonio J. Martin sierra
Como programar con Java. Deitel

Unidad 3.
Elementos avanzados de la interfaz grfica
de usuario

3.1.

Barras de progreso
3.2. Organizacin y visualizacin de datos
3.3. Cuadros de dialogo
3.4. Asistentes para el desarrollo de interfaces
3.5. Conectividad a Bases de datos

Fecha de Actualizacin 26/08/2010

Pgina 48

Prctica 10

SUBTEMA: Conexin a una


Base de Datos

Conexin a una Base de Datos


1.- OBJETIVO.
Establecer una conexin con el manejador de Base de Datos
2.- MARCO TERICO
Las clases del API JDBC se encuentran en el paquete java.sql. Este paquete contiene clases para cargar los drivers,
realizar conexiones a bases de datos, consultar datos y manejar un conjunto de registros. Tambin incluye el manejo
de excepciones que se produzcan en el acceso a bases de datos.

Cuando la clase Driver es cargada en la aplicacin de Java, sta debe crear una instancia y registrarse en el
Fecha de Actualizacin 26/08/2010

Pgina 49

DriverManager. Para cargar y registrar un driver desde el cdigo se utiliza el siguiente cdigo:
Class.forName("URL del Driver") ;
El lenguaje estructurado de consultas SQL es utilizado para acceder a la informacin contenida en la base de datos.
Conexin a la base de datos
El mtodo getConnection, de la clase DriverManager intenta localizar un driver apropiado que fueron
cargados en el proceso de inicializacin y aquellos cargados explcitamente en el cdigo.
La sintaxis para aplicar la instruccin de conectividad es la siguiente [2]:
DriverManager.getConnection(String URL, String usuario, String password)
Ejemplo:
public void connectToAndQueryDatabase(String username, String password) {
// cargar el driver
Connection con = DriverManager.getConnection(
"jdbc:myDriver:myDatabase",username, password);
// Crear una instancia para conexin con la base de datos
Statement stmt = con.createStatement();
// Ejecutar una consulta
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) {
int x = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
}
}

Fecha de Actualizacin 26/08/2010

Pgina 50

Este mtodo intenta establecer la conexin a la URL (direccin) indicada, y devuelve un objeto
Connection como resultado.

3.- MATERIAL, EQUIPO, REACTIVO o SOTFWARE A UTILIZAR


En la lista siguiente se describe el hardware, el software necesario para la elaboracin de la presente prctica;

Editor de programas en Java JCreator


Compilador JDK 1.6 o superior
1 Computadora con los dos programas instalados
MySql instalado
Acceso como Administrador a tu computadora

Fecha de Actualizacin 26/08/2010

Pgina 51

4.- PROCEDIMIENTO
a)

Cargar el driver JDBC


Para conectarse a una base de datos a travs de JDBC desde una aplicacin Java, lo primero que
se requiere es cargar el driver que ser el 'puente' para interactuar entre la aplicacin y la base de
datos.
La sintaxis para cargar el driver es:
Class.forName("Clase del driver").newInstace();
Por ejemplo, si el driver que se emplea es el puente JDBC-ODBC, entonces el cdigo para
cargarlo sera:
Class.forName("com.mysql.jdbc.Driver").newInstance();
El cdigo para cargar el driver podra lanzar una excepcin de tipo ClassNotFoundException que
debe ser capturada.

b) Conectarse a una Base de Datos


Para conectarse a una fuente de datos especfica, una vez que se ha cargado el driver, se utiliza
una direccin (URL), que indicar la base de datos con la sintaxis:
Connection con = DriverManager.getConnection(URL, usuario, password)
c) Aplicacin de Querys (Consultar) para insercin, eliminacin, actualizacin y consulta en la Base de
Datos y ejemplo de implementacin de mtodos proporcionados por java.sql para el Sistema
Gestor de Base de datos Mysql
Fecha de Actualizacin 26/08/2010

Pgina 52

A continuacin se ir desarrollando un ejemplo, incluyendo funcionalidades para acceder a la base


de datos automoviles.
Para ello se utilizan dos archivos:
accesodatos
pruebaaccesodatos

La conexin a la base de datos y la consulta de la misma se desarrollar en una clase java


llamada accesodatos.

e) Copia el cdigo que a continuacin se te muestra, ejectalo y observa los resultados generados para cada uno de los
mtodos
Cdigo de prueba de accesodatos:
import java.sql.*;
public class accesodatos {
// INSTANCIACIN DE VARIABLES DE CONEXIN
Connection con;
Statement st;
ResultSet rs;
// ABRIR CONEXION
public void abrirConexion() {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection("jdbc:mysql://localhost/automoviles",
System.out.println("Conexion a la BD");
}
catch (Exception e) {
Fecha de Actualizacin 26/08/2010

"lupita","lupita");

Pgina 53

System.out.println("Error en conexion ");


}
}
//CERRAR LA CONEXION
public void cerrarconexion() {
try {
con.close();
System.out.println("Conexion cerrada");
}
catch (SQLException e) {
System.out.println("Error al cerrar conexion");
}
}
//ACCESO A TABLA DE BASE DE DATOS
public void obtenerDatosTabla() {
try {
st = con.createStatement();
rs = st.executeQuery("SELECT * FROM coches ORDER BY precio DESC");
System.out.println("Tabla abierta");
}
catch (SQLException e) {
System.out.println("Error al Abrir tabla ");
}
}
//MOSTRAR DATOS
public void mostrarDatosCoches() {
try {
while (rs.next()) {
String strMat = rs.getString("Matricula");
String strMarca = rs.getString("Marca");
int intPrecio = rs.getInt("Precio");
System.out.println(strMat + ", " + strMarca + ", " +
intPrecio);

Fecha de Actualizacin 26/08/2010

Pgina 54

}
}
catch (Exception e) {
System.out.println("Error al visualizar datos");
}
}
//MODIFICAR DATOS
public void modificar(String m, int p) {
try {
Statement s2 = con.createStatement();
s2.executeUpdate("UPDATE coches set Precio="+ p + " where Matricula like '" + m + "%'");
System.out.println("Elemento modificado correctamente");
}
catch (SQLException e) {
System.out.println("Error al modificar");
}
} //ELIMINAR DATOS
public void borrar(String m) {
try {
Statement s2 = con.createStatement();
s2.executeUpdate("DELETE FROM coches where Matricula like '"+m+"%'");
System.out.println("Elemento Borrado");
}
catch(SQLException e) {
System.out.println("Error al Borrar");
}
}
//INSERTAR DATOS
public void insertar(String m, String mar, int p, String d) {
try {
PreparedStatement ps = con.prepareStatement("insert into coches values (?,?,?) ");
ps.setString(2, mar);
ps.setInt(3, p);
ps.setString(1, d);
System.out.println("Elemento insertado");

Fecha de Actualizacin 26/08/2010

ps.setString(1, m);

Pgina 55

}
catch(SQLException e) {
System.out.println("Error al insertar ");
}
}
//Mtodo para insertar un registro en la tabla propietarios. Los
//argumentos del mtodo son el id, nombre y edad.
public void insertar(String dni, String n, int ed) {
try {

PreparedStatement ps = con.prepareStatement("insert into propietarios values (?,?,?) ");


ps.setString(1, id);
ps.setString(2, n);
ps.setInt(3, ed);
//En este caso, el mtodo executeUpdate devuelve la cantidad de
//elementos insertados.
if (ps.executeUpdate()!=1){
throw new Exception("Error en la Insercin");
}
System.out.println("Elemento insertado ");
}
catch (Exception e) {
System.out.println("Error al Insertar ");
}
}
//OBTENER DICCIONARIO DE TABLA
public void estructuraTabla(String strTbl) {
try {
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("Select * from " + strTbl);
//Obtiene el metadata del ResultSet
ResultSetMetaData rsmeta = rs.getMetaData();
//Obtiene la cantidad de columnas del ResultSet
int col = rsmeta.getColumnCount();
for (int i = 1; i <= col; i++) {
System.out.println("Campo " + rsmeta.getColumnLabel(i) + "\t" + "Tipo: " +
Fecha de Actualizacin 26/08/2010

rsmeta.getColumnTypeName(i));
Pgina 56

//Devuelve el nombre del campo i


//Devuelve el tipo del campo i + "Tipo: " + rsmeta.getColumnTypeName(i));
}
}
catch (Exception e) {
System.out.println("Error en Metadata ");
}
}
//VISUALIZAR CONTENIDO DE TABLA
public void verCualquierTabla(String strTbl) {
try {
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("Select * from " + strTbl);
ResultSetMetaData meta = rs.getMetaData();
int col = meta.getColumnCount();
//Mientras haya registros
while (rs.next()) {
for (int i = 1; i <= col; i++) {
//Mostrar el dato del campo i
System.out.print(rs.getString(i) + "\t");
}
System.out.println("");
}
}
catch (Exception e) {
System.out.println("Cualquier " + e.toString());
}
}
}

Las pruebas se realizarn desde otra clase pruebaaccesodatos.


Fecha de Actualizacin 26/08/2010

Pgina 57

Cdigo de prueba de pruebaaccesodatos:

import java.io.*;
public class pruebaaccesodatos {
public static void main(String[] args) {
accesodatos bd = new accesodatos();
bd.abrirConexion();
//Tabla Coches
bd.obtenerDatosTabla();
bd.mostrarDatosCoches();
bd.insertar("TT-1111","TTT",7000,"TT");
bd.modificar("MA-1111",8000);
bd.borrar("MA-2222");
bd.obtenerDatosTabla();
bd.mostrarDatosCoches();
//Tabla propietarios
bd.insertar("1D","Guadalupe",36);
bd.verCualquierTabla("propietarios");
bd.estructuraTabla("propietarios");
}
}

5. RESULTADOS
Despus de copiar, corregir y ejecutar el cdigo anterior, contesta las siguientes preguntas:
Fecha de Actualizacin 26/08/2010

Pgina 58

1. Cules son los mtodos relacionados con el acceso a los datos?


2. Qu funcin realiza cada uno de ellos?
3. En caso de no haber podido realizar la conexin a la base de datos. Cual crees que
haya sido el motivo?
4. Si tuviste algn problema con la conexin a la base de datos, como fue resuelto?
5. Que aplicacin tiene la base de datos en la programacion de interfaces graficas?

6.- CONCLUSIONES
El alumno establece conexin con la base de datos y comprende el acceso a los datos utilizando un
manejador de base de datos.

7.- BIBLIOGRAFA
l) Java 7. Francisco Javier Moldes Teo
m) Java 2. Curso de Programacin. Francisco Javier Ceballos Sierra
n) Java 2. Curso Prctico. Antonio J. Martin sierra
Como programar con Java. Deitel

Unidad 4.
Desarrollo de Aplicaciones

4.1. Adquisicin de datos analgicos y digitales

4.2. Control de actuadores

Fecha de Actualizacin 26/08/2010

Pgina 59

Prctica 11

SUBTEMA: Desarrollo de
Aplicaciones

Integracin de habilidades
1.- OBJETIVO.
Desarrollar una aplicacin integrando las competencias del curso
2.- MARCO TERICO
Considerar los elementos grficos de las interfaces y desarrollar una aplicacin que realice lo
especificado en la problemtica presentada.
3.- MATERIAL, EQUIPO, REACTIVO o SOTFWARE A UTILIZAR
En la lista siguiente se describe el hardware, el software necesario para la elaboracin de la presente prctica;

Editor de programas en Java JCreator


Compilador JDK 1.6 o superior
1 Computadora con los dos programas instalados
MySql instalado
Uso de elementos grficos aprendidos en clase.

Fecha de Actualizacin 26/08/2010

Pgina 60

4.- PROCEDIMIENTO
1. Analiza la problemtica presentada
2. Realiza un diseo de interfaz de acuerdo a lo solicitado
3. Establece los mecanismos de base de datos necesarios
4. Desarrolla la aplicacin solicitada

Problemtica Presentada
Una empresa de transporte ofrece la posibilidad de que sus clientes puedan comprar y cancelar asientos al
nico destino que ofrece la compaa, el costo del destino es de: $ 320; Se sabe que a los nios menores de
12 aos y a los adultos mayores de 60 se les hace un 50 % de descuento. As mismo a los docentes el 25% y a
los estudiantes el 40%. Se sabe que solo existen 2 lugares disponibles para docentes y 4 para estudiantes, mas
sin embargo no existe limite en nios y/o adultos mayores.
Para poder realizar las operaciones antes mencionadas, se sabe que la forma de operar es la siguiente:
Para la compra de boletos:
a) Un cliente podr comprar todos los boletos que requiera, siempre y cuando haya disponibilidad en el
autobs.(Los boletos comprados por el cliente pueden ser de la misma categora o diferente)
b) Para poder hacer valido el descuento de nio o adulto mayor, preguntar al usuario si el cliente presenta o
no tarjeta de INSEN .
c) Deber pagar el costo del boleto(s) comprado(s) y no deber permitir un costo menor a menos que en
ese momento decida ya no comprar los boletos. En caso de que ingrese una cantidad menor le deber
indicar cuanto le falta por cubrir el monto total, o dar la opcin de cancelar la venta de ese momento.
Fecha de Actualizacin 26/08/2010

Pgina 61

Para poder realizar las cancelaciones se considera lo siguiente:


a) El cliente podr cancelar todos los boletos que dese reintegrndose el monto total del boleto. Tomar en
cuenta que el costo puede variar si es nio, adulto mayor, estudiante o profesor.
b) La cancelacin solo procede con boletos comprados
Cada vez que se venda un boleto debe verificarse la disponibilidad de lugares en el autobs. Al iniciar las
ventas existen 40 lugares disponibles.
Como resultados por cliente deber mostrarse los siguientes:

Desglosar la compra de cada cliente


o Cantidad de boletos de cada categora comprada por el cliente
o Monto que representa cada categora que deber pagar el cliente
o Monto de los descuentos realizados
o Monto Total que deber pagar el cliente
Nmero total de boletos comprados
Nmero total de boletos cancelados
No. De pasajeros que viajan cada autobs, mostrando cuntos nios, cuantos adultos y cuantos
ancianos y cuantos normales viajaran en el autobs.
No. De lugares que an quedan disponibles en cada destino
Cantidad total que deber haber en caja al cerrar las ventas del da por todos los boletos vendidos .

5. RESULTADOS
Integracin de habilidades

6.- CONCLUSIONES

Fecha de Actualizacin 26/08/2010

Pgina 62

Anota al menos tres situaciones que se te presentaron durante el desarrollo de la aplicacin solicitada, y a
forma en la que fueron resueltas.

7.- BIBLIOGRAFA
o) Java 7. Francisco Javier Moldes Teo
p) Java 2. Curso de Programacin. Francisco Javier Ceballos Sierra
q) Java 2. Curso Prctico. Antonio J. Martin sierra
Como programar con Java. Deitel

Fecha de Actualizacin 26/08/2010

Pgina 63