Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Oop - Progpraogramacion Java2
Oop - Progpraogramacion Java2
INSTITUTO TECNOLGICO
DE MORELIA
PROGRAMACIN II
PRESENTA:
SAL CHVEZ VELZQUEZ
ASESOR:
RAYMUNDO GUZMN MARINES
MORELIA, MICHOACN
20/06/09
Agradecimientos
INTRODUCCIN
En el siguiente material se estudian los temas de la asignatura de
Programacin II del plan 2004 de la licenciatura en Informtica.
Todos los temas se desarrollan utilizando el lenguaje de programacin Java;
pero, debido a la temtica que se debe contemplar para respetar el programa,
algunos de los temas deben explicarse con otras herramientas como Visual
Basic. Sin embargo se hace una pequea comparacin entre lo que pide el
programa y el equivalente en lenguaje java.
El material comienza desde lo ms bsico del lenguaje: comentarios,
declaraciones, sintaxis, etc. Y avanza hasta el punto de almacenamiento en
bases de datos.
El flujo de trabajo es el siguiente: se comienza a trabajar en modo consola, con
algoritmos sencillos y almacenamiento en memoria, a partir del final de la
primera unidad se comienzan a analizar objetos grficos y en la segunda
unidad se trabaja absolutamente en ambiente grfico, an utilizando como
modo de almacenamiento la memoria de la PC. Despus, a partir de la tercera
unidad, el modo de almacenamiento cambia a Archivos y se pide al
estudiante, programe aplicaciones grficas almacenando y extrayendo
informacin de archivos de texto plano. Finalmente, el modo de
almacenamiento cambia a Bases de Datos y se analizan ejemplos sencillos
con bases de datos muy simples. Al final del material y a modo de informacin
extra se analiza cmo crear tus propios controles ActiveX con Visual Basic.
Los ejercicios propuestos para cada unidad pretenden reforzar los temas vistos
en cada una de las mismas y estn diseados de tal manera que el alumno
siga la lnea de aprendizaje descrita en el prrafo anterior procurando siempre
que inculcar en el alumno la necesidad de investigar ms y profundizar ms en
los temas que se analizan. Los ejemplos siguen la misma lnea de aprendizaje,
todos los ejemplos estn relacionados con una aplicacin y situacin inicial a la
cual se le va agregando funcionalidad de acuerdo al avance en el temario de la
materia.
Finalmente, se incluye un glosario de trminos que ayude al estudiante a
disipar dudas sobre tecnicismos que desconozca y se provee de una completa
bibliografa, describiendo en las ligas de internet el tipo de material que se
puede localizar en cada una. Cabe mencionar que dicha bibliografa se revis
recientemente para confirmar la existencia actual de las mismas.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
6
10
13
15
18
23
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
24
25
26
32
36
45
46
49
55
64
72
75
.
.
77
. .
.
.
.
.
.
.
93
94
97
101
105
107
.
.
.
.
.
111
115
122
130
133
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Pgina i
135
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
138
154
156
164
165
165
165
166
172
173
187
191
. .
202
204
. .
209
Glosario de Trminos.
Pgina ii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
9
9
13
14
16
18
19
20
21
21
22
24
65
70
71
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
77
78
78
79
79
80
81
82
83
83
84
85
87
88
89
90
92
93
95
95
.
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Pgina iii
Aplicacin en ejecucin. . . . . . . . .
Cmo ver la lista de cuadros de dilogo predefinidos.
Error por no importar librera. . . . . . . .
Herramienta til para corregir errores sencillos. . .
Programa en ejecucin.
. . . . . . . .
Programa en ejecucin.
. . . . . . . .
Componentes Swing y AWT. . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
96
98
98
99
100
101
102
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
113
115
119
123
123
125
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
140
140
141
141
142
143
143
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
145
146
146
147
147
149
150
151
151
. .
.
.
.
.
.
.
.
.
.
.
.
.
152
154
154
.
.
.
.
.
Pgina iv
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
180
180
181
181
182
182
184
186
Pgina v
Pgina 2
Otro ejemplo seria una puerta Sus atributos serian el color, tamao, material,
etc. Sus operaciones o mtodos serian cerrar_puerta(), abrir_puerta().
El identificar objetos ayuda a disear las clases (o plantillas) para cada tipo de
objetos en un sistema. En la Programacin Orientada a Objetos (POO) cada
objeto de una clase es llamada una instancia de clase y tiene valores distintos
en sus atributos, pero son los mismos atributos y las mismas operaciones.
Pgina 3
" +
}
}
Si corremos el archivo MiClase.class, la salida ser: El mensaje es: Hola a
todos. Ambos archivos debern contenerse en una aplicacin creada dentro
de NetBeans, este proceso se explicara con detalle posteriormente. A grandes
rasgos, deber ir al men file, seleccionar New Project aparecer la
ventana de las diferentes categoras, seleccionamos la categora Java y
dentro de ella la opcin Java Application el nombre del archivo Main.class
dentro del proyecto.
Una vez que tenemos nuestro proyecto, iremos al men file, seleccionamos
la opcin New File, en el campo Categories seleccionamos Java y en el
campo File Types seleccionamos Java Class en el caso del ejemplo la
clase se llama MiClase, debido a ello as se llama el archivo. Con esto
tendremos nuestros dos archivos creados y listos para introducir nuestro
cdigo.
Proyecto: Durante el desarrollo de esta unidad se irn planteando ejercicios,
todos los ejercicios sern parte de un proyecto en el cual se tendr como
resultado el uso de todas las herramientas que se analizarn durante el
desarrollo de la Unidad I.
Pgina 4
Pgina 5
1.1.2 Eventos
Un evento es un suceso en el sistema (tal como una interaccin del usuario con
la mquina, o un mensaje enviado por un objeto). El sistema maneja el evento
enviando el mensaje adecuado al objeto pertinente. Tambin se puede definir
como evento, a la reaccin que puede desencadenar un objeto, es decir, la
accin que genera.
Los lenguajes visuales orientados a eventos y con manejo de componentes
dan al usuario que no cuenta con mucha experiencia en desarrollo, la
posibilidad de construir sus propias aplicaciones utilizando interfaces grficas
sobre la base de ocurrencia de eventos.
Para soportar este tipo de desarrollo interactan dos tipos de herramientas, una
que permite realizar diseos grficos (En nuestro caso NetBeans) y, un
lenguaje de alto nivel que permite codificar los eventos (Java). Con dichas
herramientas es posible desarrollar cualquier tipo de aplicaciones basadas en
el entorno.
Java es uno de los lenguajes de programacin que ms entusiasmo despiertan
entre los programadores, tanto expertos como novatos. En el caso de los
programadores expertos por la facilidad con la que desarrollan aplicaciones
Pgina 6
Pgina 7
Pgina 8
1.1.3 Mtodos
Instituto Tecnolgico de Morelia.
Pgina 9
que
el
mtodo
calcular
tambin
fue
programado.
Pgina 10
void
main
(String
args[]){
Polimorfismo
El polimorfismo se logra mediante la sobrecarga de mtodos. Consiste en crear
mtodos que se comporten de manera distinta dependiendo de los parmetros
con los que trabaje. Por ejemplo, si usted crea una clase cualquiera y en ella
define el mtodo Suma, el cual realiza la suma de dos operadores, pero usted
tiene la necesidad de sumar ahora tres operadores No necesita crear un
nuevo mtodo para realizar dicha accin, para eso sirve la sobrecarga de
mtodos.
La sobrecarga de mtodos permite definir diferentes versiones de un mtodo,
todos con el mismo nombre pero con diferentes listas de parmetros. Cuando
se utiliza un mtodo sobrecargado, el compilador de java sabe cual se desea
utilizar por el nmero y/o tipo de parmetros que se le pasen.
Para sobrecargar un mtodo, slo hay que definirlo ms de una vez,
especificando una nueva lista de parmetros en cada una de ellas. Cada lista
de parmetros debe ser diferente de cualquier otra de alguna forma, el nmero
de parmetros o el tipo de uno o ms de ellos.
Ejemplo: Sobrecargaremos el mtodo Suma de la clase Calculadora
Pgina 11
class Calculadora
{
//mtodo Suma que
int Suma(int op1,
{
return op1 +
}
//mtodo Suma que
int Suma(int op1,
{
return op1 +
}
}
Pgina 12
1.1.4 Propiedades
Una propiedad es una asignacin que describe algo sobre un objeto como un
formulario, un botn, una lista, etc. Dependiendo de la propiedad, se le puede
asignar en tiempo de diseo usando la ventana Propiedades y/o en tiempo de
ejecucin al programar.
Los objetos que ya existen en NetBeans como los botones, listas, formularios,
etc. Tienen propiedades definidas ya en el lenguaje, por ejemplo:
Pgina 13
La palabra private indica que el atributo solo es accesible por los mtodos
dentro de la clase. El tipo puede ser primitivo o de cualquier clase.
Por ltimo, al igual que para los atributos de los objetos de NetBeans, para
accesar a las propiedades de un objeto se utiliza el operador punto (.).
Ejemplo:
MiClase objeto1 = new MiClase(); //Declaramos el objeto
objeto1.x=30;
//asignamos un valor al atributo x del objeto
Modificadores de acceso
Los modificadores de acceso permiten al diseador de una clase determinar
quien accede a los datos y mtodos miembros de una clase.
Los modificadores de acceso preceden a la declaracin de un elemento de la
clase (ya sea dato o mtodo), de la siguiente forma:
[modificadores]
[modificadores]
tipo_variable nombre;
tipo_devuelto nombre_Metodo ( lista_Argumentos );
Pgina 14
NetBeans
Entorno Integrado de Desarrollo. Programa como NetBeans que proporciona herramientas que facilitan la programacin.
Graphical User Interface. Interfaz Grfica de Usuario. (Lo vemos al momento de disear grficamente
nuestras aplicaciones grficas arrastrando botones o cambiando tamao de los elementos con jalar una
esquina, etc.)
Pgina 15
Sun Microsystems es una empresa informtica de Silicon Valley, fabricante de semiconductores y software.
Pgina 16
Administracin de ventanas.
Java ME: Java Micro Edition Herramienta para crear programas para celulares y otras tecnologas moviles.
Pgina 17
Pgina 18
debido
puede
provocar
un
mal
Pgina 19
Como puede ver, tenemos una pequea ventana con el nombre de Projects,
esta nos muestra el proyecto en el que estamos trabajando y los archivos que
necesitamos. Entre esos archivos se encuentran las libreras que incluimos.
Ventana Propiedades
Para abrir la ventana de propiedades, damos clic sobre el men Window y a
continuacin en Properties.
Con esto se mostrar la ventana de propiedades de nuestra aplicacin.
NetBeans lo conoce como Main.java aunque si lo buscamos en el directorio
que se creo, la clase principal se llamar HolaMundo.class.
En esta ventana podemos observar informacin como el nombre, el directorio
donde se encuentran los archivos, la hora a la que se modificaron y el directorio
donde se crean los archivos de clases que conforman a nuestro proyecto. Por
ejemplo el archivo HolaMundo.class.
Instituto Tecnolgico de Morelia.
Pgina 20
Ventana de Ayuda
Para abrir la ventana de ayuda debe dar clic sobre el men Help y a
continuacin en Help Contents.
Pgina 21
Pgina 22
Pgina 23
1.5 Comentarios
En muchas ocasiones, es necesario incluir notas en el cdigo para documentar
un poco y recordar posteriormente para que se utiliza una funcin u
alguna lnea de cdigo, para poder hacer esto existen los comentarios:
Comentarios de una sola lnea.
Comentarios de una o ms lneas.
Ejemplos:
// Comentarios para una sola lnea (doble diagonal).
Los dos primeros tipos de comentarios son los que todo programador conoce y
se utilizan del mismo modo. Los comentarios de documentacin, colocados
Pgina 24
Utilizar nombres descriptivos para las clases, evitando los nombres muy
largos.
Si el nombre tiene varias palabras ponerlas todas juntas (sin separar con
- o _) y poner la primera letra de cada palabra en maysculas. Por
ejemplo: InstrumentoMusical.
1.6 Constantes
En Java, se utiliza la palabra clave final para indicar que una variable debe
comportarse como si fuese constante, significando con esto que no se permite
su modificacin una vez que haya sido declarada e inicializada. Como es una
constante, se le ha de proporcionar un valor en el momento en que se declare,
por ejemplo:
(del ingls Application Programming Interface - Interfaz de Programacin de Aplicaciones) es el conjunto de funciones y
procedimientos
Pgina 25
Tamao
1Byte (8 bits)
Pgina 26
int
long
Literales enteros
Son bsicos en la programacin en Java y presentan tres formatos:
Tamao
float
double
Pgina 27
Pueden
De forma predeterminada son del tipo double (8 bytes). Existe la opcin de usar
un tipo ms corto (el tipo float de 4 bytes), especificndolo con una F f al final
del nmero.
La declaracin de variables de punto flotante es muy similar a la de las
variables enteras.
Por ejemplo: declaracin de variables punto flotante.
double valorDePi = 314.16e-2 ;
float temperatura = (float)36.6
Pgina 28
Representacin
Valor Unicode
Caracter Unicode
\udddd
Numero octal
\ddd
Barra invertida
\\
\u005C
Continuacin
Retroceso
\b
\u0008
Retorno de carro
\r
\u000D
de \f
\u000C
Tabulacin horizontal
\t
\u0009
Lnea nueva
\n
\u000A
Comillas simples
\u0027
Comillas dobles
\"
\u0022
0-9
\u0030 a \u0039
Alimentacin
formularios
Alfabeto
ASCII
maysculas
en A.-Z
\u0041 a \u005A
Alfabeto
ASCII
minsculas
en a.-z
\u0061 a \u007A
Pgina 29
String trim()
Static String valueOf (boolean b)
Static String valueOf (char b)
Static String valueOf (char [] data)
Static String valueOf(char[] data, offset,
int count)
Static String valueOf (doubleb)
Static String valueOf (float b)
Static String valueOf (int b)
char charAt (int index)
int compareTo (Object o)
int compareToIgnoreCase(String
otraCadena)
int compareTo (String otraCadena)
String concat(String str)
Boolean endsWith (String sufijo)
Pgina 31
Tipo Destino
byte
short
char
int
long
double, float
float
Double
Tabla 1.6 Conversiones sin prdidas de informacin
1.8 Variables
Las variables pueden ser de diferentes tipos y actan como gestores de
memoria de datos. Los diferentes tipos tienen que ver con el formato de los
datos que almacenan en ellas, as como con la memoria que es necesaria para
gestionar ese dato. Por ejemplo, la variable de tipo entero (int), es de 4 bytes (o
32 bits) y se utiliza para almacenar valores enteros. Esto hace que un dato de
tipo int pueda tomar un rango de valores que van desde -2,147,483,648 hasta
2,147,483,647.
Antes de usar una variable en java, debe declararse especificando su tipo.
Sintaxis: como declarar una variable en Java.
Tipo nombre [ = valor] [, nombre [ = valor]];
Ejemplo: declaracin de una variable tipo int.
Pgina 32
Enteros: Estos tipos son byte, short, int y long, que guardan el signo y el
valor.
boolean
byte
char
Almacenamiento en
bytes
1
1
2
double
Tipo de Variable
Rango de Valores
Verdadero, Falso
-128 a 127
N/A
-1.79769313486232E308 a
-94065645841247E-324
Pgina 33
Float
int
Long
Short
2
Tabla1.7 Tipos de variables.
Descripcin
Inicializa un nuevo objeto String para
gestionar una secuencia de caracteres
veca.
Construye un nuevo objeto String
convirtiendo el arreglo de bytes
mediante la codificacin de caracteres
que tiene la plataforma por defecto.
Construye un nuevo objeto String
convirtiendo el subarreglo de bytes
usando la codificacin de caracteres
por defecto.
Construye un Nuevo objeto String
convirtiendo el entero length y el
subarreglo de caracteres utilizando la
codificacin
de
caracteres
especificada.
Construye un nuevo objeto String
convirtiendo el arreglo de bytes
mediante la codificacin de caracteres
Pgina 34
que se especifica.
Aloca un nuevo objeto String para
representar
la
secuencia
de
caracteres.
Pgina 35
new
String(Usamos
1.9 Operadores
Los operadores son un tipo de tokens que indican una evaluacin o
computacin para ser realizada en objetos o datos, y en definitiva sobre
identificadores o constantes. Adems de realizar la operacin, un operador
devuelve un valor, ya que son parte fundamental de las expresiones.
El valor y tipo que devuelve depende del operador y del tipo de sus operandos.
Por ejemplo, los operadores aritmticos devuelven un nmero como resultado
de su operacin. Los operadores realizan alguna funcin sobre uno, dos o tres
operandos.
Los operadores que requieren un operando son llamados operadores unarios.
Por ejemplo, el operador "++" es un operador unario que incrementa el valor de
su operando en una unidad.
Los operadores unarios en Java pueden utilizar tanto la notacin prefija como
la posfija.
La notacin prefija indica que el operador aparece antes que su operando.
++contador; // Notacin prefija, se evala a: contador+1
La notacin posfija indica que el operador aparece despus de su operando:
contador++ // Notacin posfija, se evala a: contador
Los operadores que requieren dos operandos se llaman operadores binarios.
Por ejemplo el operador "=" es un operador binario que asigna el valor del
operando del lado derecho al operando del lado izquierdo.
Pgina 36
De comparacin y condicionales.
De asignacin.
Operadores aritmticos
El lenguaje Java soporta varios operadores aritmticos para los nmeros
enteros y en punto flotante. Se incluye + (suma), - (resta), * (multiplicacin), /
(divisin), y % (mdulo, es decir, resto de una divisin entera). La tabla 1.9
muestra los operadores aritmticos.
Por ejemplo:
sumaEste + aEste; //Suma los dos enteros
divideEste % entreEste; //Calcula el resto de dividir 2
enteros
Operador
+
*
/
Uso
op1 + op2
op1 - op2
op1 * op2
op1 / op2
op1 % op2
Descripcin
Suma op1 y op2
Resta op2 de op1
Multiplica op1 por op2
Divide op1 entre op2
Calcula el resto de dividir op1 entre
op2
Pgina 37
+op
-op
Descripcin
Convierte op a entero si es un byte, short o
char
Niega aritmticamente op
Uso
++
op++
++
++op
--
op--
--
--op
Descripcin
Incrementa op en 1; se evala con valor anterior
incremento
Incrementa op en 1; se evala con valor posterior
incremento
Decrementa op en 1; se evala con valor anterior
incremento
Decrementa op en 1; se evala con valor posterior
al
al
al
al
Pgina 38
Uso
op1 > op2
op1 >= op2
op1 < op2
op1 <= op2
op1 == op2
op1 != op2
Devuelve verdadero si
op1 es mayor que op2
op1 es mayor o igual que op2
op1 es menor que op2
op1 es menor o igual que op2
op1 y op2 son iguales
op1 y op2 son distintos
Pgina 39
Uso
&&
&
||
op1 || op2
|
!
op1 | op2
! op
Adems Java soporta un operador ternario, el ?:, que se comporta como una
versin reducida de la sentencia if-else:
expresion ? <operacion1> : operacion2
El operador ?: evala la expresion y devuelve operacin1 si es cierta, o
devuelve operacin2 si expresion es falsa.
Operadores de bit
Un operador de bit permite realizar operaciones de bit sobre los datos. Existen
dos tipos: los que desplazan (mueven) bits, y operadores lgicos de bit.
Operadores de desplazamiento de bits
Operador
Uso
>>
op1 >> op2
<<
op1 << op2
>>>
Operacin
Desplaza los bits de op1 a la derecha op2 veces
Desplaza los bits de op1 a la izquierda op2 veces
Desplaza los bits de op1 a la derecha op2 veces
(sin signo)
Pgina 40
Uso
op1 & op2
op1 | op2
op1 ^ op2
~op2
Operacin
AND
OR
OR Exclusivo
Complemento
El operador & realiza la operacin AND de bit. Aplica la funcin AND sobre
cada par de bits de igual peso de cada operando. La funcin AND es evaluada
a cierto si ambos operandos son ciertos. Por ejemplo vamos a aplicar la
operacin AND a los valores 12 y 13:
12 & 13
El resultado de esta operacin es 12. Por qu?. La representacin en binario
de 12 es 1100, y de 13 es 1101. La funcin AND pone el bit de resultado a uno
si los dos bits de los operandos son 1, sino, el bit de resultado es 0:
1100
& 1101
----------1100
Pgina 41
Pgina 42
Pgina 43
diferente
x + y / 100
Si no se indica explcitamente al compilador el orden en que se quiere que se
realicen las operaciones, entonces el compilador decide basndose en la
precedencia asignada a los operadores. Como el operador de divisin tiene
mayor precedencia que el operador de suma el compilador evaluar y/100
primero. As:
x + y / 100
Es equivalente a:
x + (y / 100)
Pgina 44
1.10 Sentencias
La unidad bsica de ejecucin es una sentencia, Java determina el fin de una
sentencia mediante el ;. Un bloque es un conjunto de sentencias
comprendidas entre dos llaves ({ }). Es importante remarcar que los bloques
definen el alcance de las variables y que los bloques pueden anidarse.
Como la mayora de los lenguajes de programacin Java tiene sentencias
condicionales y de ciclo (ciclo). A continuacin se presentan breves ejemplos,
cada sentencia se explica con gran detalle en el punto 1.13 Estructuras de
control.
Condicionales
if(<condicin>){
<sentencia>*
}
if(<condicin>){
<sentencia>*
}else{
<sentencia>*
}
switch(<variable>){
case<valor>:
<sentencia>*
break;
case<valor>:
<sentencia>*
break;
default:
<sentencia>*
break;
}
Ciclos o Ciclos
for(<valor_inicial>;<condicin>;<incremento>){
<sentencia>*
}
while(<condicin>){
<sentencia>*
}
do{
<sentencia>*
} while(<condicin>);
Tabla 1.17 Sentencias condicionales y de ciclo.
Como los bloques se pueden anidar no hay problemas por definir una
sentencia de control dentro de otra:
Pgina 45
1.11 Matrices
Se define como un conjunto de datos del mismo tipo organizados en dos o ms
columnas y uno o ms renglones, es decir es un arreglo bidimensional o una
tabla. Los arreglos con dos dimensiones se utilizan a menudo para representar
tablas de valores, que constan de informacin ordenada en filas y columnas.
Para identificar un elemento especifico de una tabla, se deben especificar los
ndices. Por convencin, el primer ndice indica la fila del elemento y el
segundo, su columna. En Java los arreglos bidimensionales son arreglos de
arreglos. Como era de esperarse, se parecen y actan como los arreglos
multidimensionales.
Las matrices se derivan de los arreglos (arrays), de hecho son arreglos
multidimensionales, debido a ello dar una breve explicacin sobre ellos.
Inicializacin de arreglos
Para inicializar los arreglos unidimensionales, nicamente hay que poner los
valores entre llaves, un valor detrs de otro, separados por comas, empezando
con el primer valor del arreglo.
Ejemplo: Declaracin e inicializacin de un arreglo.
public class MiClase{
public static void main (String [] args){
double cuentas[] = {345.6, 999.0, 0, 1000.5};
cuantas[3] = 1000.5;
System.out.println("La cuenta 3 debe $" +
cuentas[3]);
}
}
Declaracin de matrices
Se pueden declarar matrices de una manera muy similar a como se declaran
los arreglos, solo se incluyen un par de corchetes adicionales. Serian arreglos
multidimensionales. De hecho, se agrega un par de corchetes adicionales por
Pgina 46
Pgina 47
Pgina 48
2
20
3
30
Pgina 49
(tipo_parmetro
Pgina 50
Pgina 51
Pgina 52
Pgina 53
Pgina 54
Clave
if-else, switch-case
for, while, do-while
break, continue, label:, return
Pgina 55
int
variable=Integer.parseInt(campoDeTexto.getText());
if (variable >= 0) {
//que hacer si es mayor o igual a cero
System.out.println( "Entr a >= 0 " );
}
else {
//que hacer si no es mayor o igual que cero
System.out.println( "Entr a <0 " );
}
Pgina 56
La sentencia switch
Mediante la sentencia switch se puede seleccionar entre varias sentencias
segn el valor de cierta expresin.
Sintaxis: La forma general de switch es la siguiente
switch ( <expresionMultivalor> ) {
case valor1 : conjuntoDeSentencias; break;
case valor2 : conjuntoDeSentencias; break;
case valor3: conjuntoDeSentencias; break;
default: conjuntoDeSentencias; break;
}
Pgina 57
Pgina 58
do {
sentencias;
} while ( expresinBooleana );
La sentencia do-while debe utilizarse cuando el ciclo deba ser ejecutado por lo
menos una vez.
Por ejemplo, cuando se lee informacin de un archivo, se sabe que siempre se
debe leer por lo menos un carcter:
int c;
do {
c = System.in.read( );
// Sentencias para tratar el carcter c
} while ( c != -1 ); // No se puede leer ms
(Fin del archivo)
Ciclo for
La forma general de la sentencia for es la siguiente:
for ( iniciacin ; terminacin ; incremento ){
sentencias;
}
La iniciacin es una sentencia que se ejecuta una vez antes de entrar en el
ciclo.
La terminacin es una expresin que determina cundo se debe terminar el
ciclo. Esta expresin se evala al final de cada iteracin del ciclo. Cuando la
expresin se evala a falso, el ciclo termina.
El incremento es una expresin que es invocada en cada iteracin del ciclo. En
realidad puede ser una accin cualquiera, aunque se suele utilizar para
incrementar una variable contador:
for ( i = 0 ; i < 10 ; i++ )
Algunos (o todos) estos componentes pueden omitirse, pero los puntos y coma
siempre deben aparecer (aunque sea sin nada entre s).
Se debe utilizar el ciclo for cuando se conozcan las restricciones del ciclo (su
instruccin de iniciacin, criterio de terminacin e instruccin de incremento).
Por ejemplo, los ciclos for son utilizados comnmente para iterar sobre los
elementos de una matriz, o los caracteres de una cadena:
Instituto Tecnolgico de Morelia.
Pgina 59
Pgina 60
}
Al interpretar break a, no solo se rompe la ejecucin del ciclo interior (el de
contadorDos), sino que se salta al final del ciclo contadorUno, obtenindose:
contadorUno = 1 contadorDos = 1 contadorDos = 2 ontadorDos = 3
contadorDos = 4
No se aconseja esta forma de programacin, basada en goto, y con saltos de
flujo no controlados.
Sentencia continue
Del mismo modo que en un ciclo se puede desear romper la iteracin, tambin
se puede desear continuar con el ciclo, pero dejando pasar una determinada
iteracin.
Se puede usar la sentencia continue dentro de los ciclos para saltar a otra
sentencia, aunque no puede ser llamada fuera de un ciclo o ciclo.
Tras la invocacin a una sentencia continue se transfiere el control a la
condicin de terminacin del ciclo, que vuelve a ser evaluada en ese momento,
y el ciclo contina o no dependiendo del resultado de la evaluacin. En los
ciclos for adems en ese momento se ejecuta la clusula de incremento (antes
de la evaluacin). Por ejemplo el siguiente fragmento de cdigo imprime los
nmeros del 0 al 9 no divisibles entre 3:
Pgina 61
Pgina 62
SWING
JButton
JLabel
Pgina 63
Pgina 64
Pgina 65
Pgina 66
Debido al tamao que tiene el cdigo de este ejemplo por s solo, se omitieron
comentarios de instrucciones que ya fueron explicadas anteriormente.
JTextArea
En el siguiente ejemplo, se utilizan objetos JTextArea. El ejemplo consiste
enmostrar como copiar texto seleccionado de un rea de texto a otra, usando
mtodos de la clase JTextArea.
package jtextarea_ej;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Main extends JFrame
{
private JTextArea areaTexto1, areaTexto2;
private JButton botonCopiar;
// configurar Interfaz grafica
public Main() {
super( "Ejemplo del uso de JTextArea" );
Box cuadro = Box.createHorizontalBox();
//Creamos la ventana
String cadena = "sta es una cadena de"+
"\ndemostracin para\nilustrar cmo copiar"+
"texto\nde un rea de texto a \n" +
"otra, utilizando un\nevento externo";
// establecer areaTexto1
areaTexto1 = new JTextArea( cadena, 10, 15 );
cuadro.add( new JScrollPane( areaTexto1 ) );
// Creamos el botn Copiar y le asignamos el
// ActionListener para el evento.
botonCopiar = new JButton( "Copiar" ); //Lo creamos
cuadro.add( botonCopiar ); //Le ponemos texto
botonCopiar.addActionListener(
new ActionListener() {
Pgina 67
JScrollPane
Esto es un ejemplo de cmo usar el JScrollPane. Para ello vamos a poner una
imagen dentro de un JLabel y esta a su vez dentro de un JScrollPane. Todo
ello dentro de un JFrame para visualizarlo.
El JFrame saldr con el tamao necesario para ver la imagen completa (la
lnea que dice ventana.pack() hace eso). Para que aparezcan las barras de
scroll hay que redimensionar la ventana, hacindola ms pequea que la
imagen. Tambin, en el cdigo, se podra usar el mtodo:
setVerticalScrollBarPolicy (JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
De JScrollPane para obligar a que salga siempre la barra vertical. Hay un mtodo
similar para la horizontal.
package pruebajscrollpane;
import javax.swing.*;
public class PruebaJScrollPane {
Pgina 68
Pgina 69
Si la imagen no es .gif, no funciona. Para que aparezcan los scrolls debe hacer
la ventana ms pequea que la imagen, como se muestra a continuacin. Si
desea que aparezcan sin tener que modificar la imagen utilice el mtodo que se
mencion anteriormente.
Pgina 70
Variaciones:
Pgina 71
Pgina 72
Pgina 73
Utilice objetos grficos como JOptionPane para ingresar los datos con
los que desea trabajar.
Proyecto 2:
Proyecto 3:
Pgina 74
Pgina 75
Pgina 77
Pgina 78
Como puede observar, por default tenemos ya una pestaa de Archivo File y
una de ayuda Help, esto es debido a que es el template o esqueleto de
aplicacin de escritorio por default de NetBeans, tambin se tienen los conos
para ampliar la ventana, minimizarla o cerrarla. Si lo deseamos podremos
remover o cambiar lo que sea.
Una vez que tenemos nuestra aplicacin de escritorio podremos crear controles
y agregarlos a la misma de una manera tan sencilla como arrastrarlos al lugar
donde los necesitemos.
Para eso, tenemos la ventana del lado derecho de la pantalla con la leyenda
Palette, en ella podremos localizar los componentes comunes que
encontramos en una aplicacin.
Botones.
Los botones proporcionan al usuario una forma rpida de iniciar alguna accin.
Hay que hacer clic sobre ellos. A los botones se les puede dar una inscripcin,
Instituto Tecnolgico de Morelia.
Pgina 79
Pgina 80
Como puede observar, los botones tienen texto predeterminado, este texto se
almacena en una de las muchas propiedades de los objetos, veamos como
modificar algunas de estas propiedades.
Para modificar las propiedades de los objetos, basta con seleccionar la
propiedad deseada en la ventana de propiedades que se encuentra en la parte
derecha de la pantalla.
Puede cambiar el texto del botn, la fuente, el color de la letra, el color del
botn, el tamao, el nombre del botn, etc.
Algunas de las propiedades son las siguientes:
background: color del fondo del botn.
font: tipo de letra.
text: texto que se muestra sobre el botn.
enabled: propiedad que indica si el botn esta activado o no en el formulario.
margin: margen del texto del botn.
name: nombre del botn, con el har referencia al objeto para utilizarlo en el
cdigo. La propiedad nombre se modifica de manera distinta a las dems.
Posteriormente se explicar este proceso.
Ejemplo: Cambiar el texto de los botones del ejemplo a Hola Mundo! y Hola
Java!.
Para ello:
1. Seleccionamos la propiedad text.
2. Cambiamos el texto predeterminado por el texto deseado.
Instituto Tecnolgico de Morelia.
Pgina 81
Ventana de propiedades
Pgina 82
Campos de Texto.
Los cuadros de texto son componentes que soportan texto. Estos componentes
gestionan cadenas de texto de una dimensin; permiten visualizar el texto que
el usuario escribe, poner mscaras de texto cuando se introduce una clave
secreta, leer texto que el usuario ha incluido y mucho mas.
Para crear un campo de texto, llevamos a cabo el mismo proceso que en los
botones. nicamente tenemos que arrastrarlo de la Paleta de componentes a
nuestra ventana de aplicacin y ubicarlo en el lugar que queramos. Presione f6
para observar que sucede.
Pgina 83
Pgina 84
Ventana de propiedades
Las casillas de activacin son como botones, salvo que tienen un doble estado,
es decir, pueden estar seleccionadas o no. Cuando se seleccionan, aparecen
con algn tipo de marca, como puede ser una marca de activacin o una X (el
tipo de indicacin visual depende del sistema operativo en que se haya
programado, que es una de las razones por la que Sun introdujo Swing, que
puede visualizar componentes con la misma forma independientemente del
sistema operativo). El usuario puede marcar una casilla de activacin para
seleccionar un tipo de opcin. Se usan las casillas de activacin para permitir al
usuario opciones de seleccin no exclusivas.
Ejemplo: Programa que tiene dos campos de texto, uno editable y otro no
editable. Agregar dos casillas de activacin al programa, cambie el texto
predeterminado de las casillas para describir lo que har cada una, en este
caso, una que diga maysculas y otra que copie el texto de una casilla a la
otra.
Para ello:
1. Coloque las dos casillas de activacin, arrastrndola de la paleta de
componentes, asignndoles un nombre en funcin de su propsito,
por ejemplo jCBcopiar (jCheckBoxcopiar).
2. Seleccione la propiedad text de ambas casillas y cmbielas por
Maysculas y Copiar.
Pgina 85
Ventana de propiedades
Pgina 86
Pgina 87
Pgina 88
Pgina 89
Descripcin
Obtiene las dimensiones mnimas
para el cuadro de texto
Obtiene el nmero de columnas del
cuadro de texto.
Obtiene la representacin en cadena
del estado del cuadro de texto.
Elimina el action listener indicado,
para que no reciba eventos.
Asigna una cadena al objeto.
Devuelve en una cadena el contenido
de una caja de texto.
Cabe mencionar que NetBeans proporciona una lista y una breve descripcin
del funcionamiento de cada mtodo. Basta con utilizar la herramienta de
NetBeans mencionada anteriormente.(Ctrl+Space)
Botones
Ahora crearemos un evento sobre el botn de nuestro ejemplo. Utilizaremos el
evento mouseClicked, es decir, algunas funciones se desencadenarn al dar
clic sobre nuestro botn.
Los pasos para crear el evento son los mismos, nicamente debe seleccionar
el evento indicado. Seleccione el botn y busque el evento apropiado en la
pestaa de eventos. mouseClicked para el ejemplo, adems es lo ms comn
con un botn.
Ejemplo: Programe el evento mouseClicked en el botn del ejemplo. Haga
que al dar clic sobre el mismo, se muestre cualquier frase en el campo de texto
deshabilitado.
El cdigo es el siguiente:
private
evt) {
void
Boton1MouseClicked(java.awt.event.MouseEvent
Pgina 90
Para el check_box 1
private void checkMayusculasMouseClicked(java.awt.event.
MouseEvent evt) {
if (checkMayusculas.isSelected() == true){
campoTexto1.setText(campoTexto1.getText().
toUpperCase());
}
else{
campoTexto1.setText(campoTexto1.getText().
toLowerCase());
}
Pgina 91
Para el check_box 2
private
void
checkCopiarMouseClicked(java.awt.event.MouseEvent evt) {
if (campoTexto2.isSelected()==true){
campoTexto2.setText(campoTexto1.getText());
}
else{
campoTexto2.setText("");
}
}
Descripcin
Regresa true si el color de fondo del
componente se ha especificado, false si
no.
Regresa true si el borde del objeto est
pintado, regresa false de lo contrario.
Regresa true si el componente est
habilitado o false si no.
Regresa true si el componente est
seleccionado o false si no.
text Es una cadena que se pondr como
texto.
aFlag bandera true para hacer que este
Pgina 92
El cdigo es el siguiente:
Cdigo para el botn de opcin 1:
private
void
opcion1StateChanged(javax.swing.event.ChangeEvent evt) {
if(opcion1.isSelected()==true){
campoTexto1.setText("Eligi la opcin 1");
}
}
Cdigo para el botn de opcin 2:
Pgina 93
Pgina 94
Pgina 95
Pgina 96
private
evt) {
void
Boton1MouseClicked(java.awt.event.MouseEvent
Pgina 97
2.3.2 Predefinidas
En el apartado anterior, 3.1 Modales y no modales, analizamos como crear
cajas de dilogo pero; existen cajas de dialogo predefinidas, crearlas es muy
sencillo y el proceso necesario se describe a continuacin.
La clase que se utiliza para este fin se llama JOptionPane
Los tipos de cajas de texto predefinidas son:
1. Confirmacin (ConfirmDialog).
2. Entrada de datos (InputDialog).
3. Confirmacin Interna (InternalConfirmDialog)
4. Entrada interna de datos (InternalInputDialog)
5. Mensaje Interno (InternalMessageDialog)
6. Mensaje (MessageDialog)
7. Opcin (OptionDialog)
Pgina 98
Como puede Observar es muy sencillo, solo debe seleccionar el tipo de caja
de dilogo que desea utilizar. Si no est seguro de para qu sirve cada una,
en la parte inferior se muestra una explicacin de para qu sirve, que es lo
que muestra, etc. En el listado de los mtodos puede observar que
parmetros se necesitan y que devuelve la funcin. En fin entre las dos
ventana automticamente desplegadas por NetBeans se muestra todo lo
que debe saber del mtodo que crea una caja de dilogo.
Pgina 99
Puede ser que le muestre otro error debido a que no est asignando el valor
de vuelta a ninguna variable. Ese error tambin se puede solucionar
fcilmente. Aunque de hecho esto no es un error, sera el equivalente a
un warning en el lenguaje C.
Pgina 100
utilicemos
los
valores
de
retorno
para
condicionar
el
Pgina 101
Ahora, supongamos que usted no necesita preguntar nada al usuario, que solo
quiere mostrar un mensaje al realizar cierta accin, ya sea una confirmacin o
un mensaje de que ocurri cierto error. Para eso utilicemos un mensaje simple,
ahora lo pondremos en el botn de la aplicacin.
Ejemplo: Agregar al cdigo del evento mouseclicked del Botn con la leyenda
Hola Java de nuestra aplicacin el cdigo que muestre una mensaje que
indique que la accin se llev a cabo correctamente. Anteriormente habamos
mostrado una caja de dialogo en ese cdigo. Modifquelo si es necesario.
El cdigo es el siguiente:
private void Boton1MouseClicked(java.awt.event.MouseEvent evt) {
campoTexto2.setText("Programaste el evento clic");
JOptionPane.showMessageDialog(mainPanel,
"La accin se realiz correctamente");
}
Pgina 102
Swing es una biblioteca grfica para Java. Contiene botones, cajas de texto, etc.
La Abstract Window Toolkit (AWT, en espaol Kit de Herramientas de Ventana Abstracta) es un kit de herramientas de grficos,
e interfaz de usuario.
8
Pgina 103
Las Internet Foundation Classes (IFC9) era una biblioteca grfica para el
lenguaje de programacin Java desarrollada originalmente por Netscape10.
Desde sus inicios el entorno Java ya contaba con una biblioteca de
componentes grficos conocida como AWT. Esta biblioteca estaba concebida
como una API estandarizada que permita utilizar los componentes nativos de
cada sistema operativo. Entonces una aplicacin Java corriendo en
determinado sistema operativo, usara componentes estndar del sistema. En
la prctica esta tecnologa no funcion:
Internet Foundation Classes era una biblioteca grfica para el lenguaje de programacin Java
Es una empresa de software famosa por ser la creadora del navegador web Netscape Navigator.
10
Pgina 104
Contras
Portabilidad: El uso de componentes nativos atenta contra la portabilidad
de la aplicacin a otra plataforma.
Pgina 105
Contras
Portabilidad Web: La mayora de los navegadores de internet no
contienen la librera swing por lo que debe agregarse un plug-in. (Si la
tendencia hacia swing contina, esto ya no ser necesario).
Pgina 106
2.2 Disee una aplicacin grfica para manipular la informacin de una Agenda
electrnica. Utilice los controles swing disponibles para poder agregar,
modificar, eliminar o consultar la informacin de 20 personas diferentes. La
informacin se almacenar en memoria. Utilice arreglos de tipo que considere
necesarios.
2.3 Programe una aplicacin en ambiente grfico que le permita tener una lista
de alumnos y sus calificaciones. Utilice un objeto JList para almacenar dicha
lista y utilice JOptionPane o JTextField para ingresar la informacin. Luego
coloque los botones necesarios para ordenar dicha lista ya sea por nombre o
por la calificacin.
2.4 Memorama. Desarrolle una aplicacin que funcione como un memorama.
Un memorama cociste en un conjunto de ncartas con n/2 imgenes distintas.
El objetivo es poner las cartas hacia abajo y tratar de localizar el mayor nmero
de parejas posible. Elija que objetos utilizar (botones, labels, etc.) y programe
un evento sobre ellos para que al seleccionar uno nos muestre que imagen o
texto oculta (puede utilizar texto en lugar de imgenes). La aplicacin deber
llevar el control de puntaje y turno de 2 jugadores. Utilice como mnimo 16
objetos que representarn las cartas.
2.6 Disee un programa en ambiente grfico que le ayude a aprender ingls.
Deber crear de manera automtica (con valores fijos) o pidiendo los valores al
usuario para llenar un arreglo de palabras en ingls. Deber guardar en otro su
equivalente en espaol. El programa mostrar de manera aleatoria una palabra
del arreglo de palabras en ingls. Usted deber ingresar la palabra en espaol
Pgina 107
Pgina 108
Disee una aplicacin grfica que cree tablas de sudoku y usted pueda
resolverlas. El programa deber ser capaz de revisar la solucin que demos y
decir si es correcta o incorrecta. Existen algoritmos que describen tambin
como solucionarlos, de la opcin al usuario para resolver un sudoku si es que
se rindi o no puede resolverlo.
Pgina 109
Unidad 3. Sistemas de
Archivos.
Utilizacin de archivos como mtodo de almacenamiento de informacin.
Pgina 109
Pgina 110
Pgina 111
void
leerArchivoMouseClicked(java.awt.event.MouseEvent
try {
File f = new File("C:/prueba.txt");
LineNumberInputStream lin = new
LineNumberInputStream(new FileInputStream(f));
int contador;
do {
contador = lin.read();
if (contador >= 0) {
System.out.print((char) contador);
}
} while (contador >= 0);
System.out.println("\nSe leyeron " +
lin.getLineNumber()+1+ " lineas de texto.");
lin.close();
} catch (IOException ex) {
System.out.println("Error al leer o crear archivo");
}
Pgina 112
Pgina 113
Salida
La familia de flujos de salida es anloga a la de entrada, tenindose subclases
de OutputStream que permiten escribir en distintos medios:
FileOutputStream: hacia un archivo.
ByteArrayOutputStream:
hacia
un
bloque
de
memoria
bien
Pgina 114
Buscar a travs del archivo Zip hasta que se localice el archivo que
quiere extraer.
Extraer el Archivo.
Pgina 115
Buscar (hacia atrs o adelante) dentro del archivo Zip hasta la posicin
del archivo a extraer.
Extraer el archivo.
Pgina 116
Funcin
Lee un byte de informacin del archivo.
Escribe un byte especfico en el archivo.
Lee la siguiente Lnea de texto del archivo.
Escribe un dato tipo long en el archivo.
Lee un nmero con signo de 16 bits del archivo.
Lee un dato tipo long del archivo.
Lee un dato tipo Int del archivo.
Tabla 3.1 Mtodos de la clase RandomAccessFile.
Esta clase posee mtodos suficientes para leer cualquier tipo de dato nativo de
java, lneas en un archivo, escribir cualquier tipo de dato nativo de java e
incluso mtodos para moverse a determinada posicin.
RandomAccessFile soporta la nocin de puntero de archivo. El puntero de
archivo indica la posicin actual dentro del archivo. Cuando el archivo se crea
por primera vez, el puntero de archivo es cero, indicando el principio del
archivo. Las llamadas a los mtodos readTipoDeDato() y writeTipoDeDato()
ajustan el puntero de archivo el nmero de bytes ledos o escritos.
Adems de los mtodos normales de E/S (Entrada / Salida) que mueven
implcitamente el puntero del archivo cuando ocurre una operacin,
RandomAccessFile contiene tres mtodos que manipulan explcitamente el
puntero de archivo.
skipBytes() : Mueve el puntero de archivo hacia adelante el nmero de bytes
especificado.
void seek() : Coloca el puntero del archivo en una posicin determinada. La
posicin se da como un desplazamiento en bytes desde el comienzo del
archivo. La posicin 0 marca el comienzo de ese archivo.
long getFilePointer() : Devuelve la posicin actual del puntero de archivo.
long length() : Devuelve la longitud del archivo. La posicin length() marca el
final de ese archivo.
Creacin de un Archivo de Acceso Aleatorio
Hay dos posibilidades para abrir un archivo de acceso aleatorio:
Con el nombre del archivo:
miRAFile = new RandomAccessFile( String nombre,String modo );
Pgina 117
al
Abrir
el
Pgina 118
Pgina 119
Pgina 120
Pgina 121
Para presentar una lista de archivos que pueden ser abiertos por la
aplicacin.
Recuerde que hasta ahora, en todos los ejemplos relacionados con archivos,
debemos introducir el directorio y nombre del archivo que queremos abrir, con
esta clase, podremos elegir el archivo que deseemos abrir o guardar con el
nombre que queramos sin tener que predefinir nada en el cdigo con relacin a
estos nombres.
Es conveniente aclarar que el selector de archivos ni abre ni graba archivos.
Presenta una GUI para elegir un archivo de una lista. El programa es
responsable de hacer algo con el archivo, como abrirlo o grabarlo.
Como la mayora de los programadores slo quieren un selector para abrir o
para grabar archivos, la clase JFileChooser proporciona los mtodos
convenientes para mostrar estos tipos de selectores de archivos en un dilogo.
Nuestro primer ejemplo ilustra estos usos.
Pgina 122
Pgina 123
void
evt)
{
JFileChooser fileChooser = new JFileChooser();
int valor = fileChooser.showSaveDialog(fileChooser);
}
Utilizando el mismo selector de archivos para abrir y grabar archivos, el
programa consigue estos beneficios.
El selector recuerda el directorio actual entre usos, por eso los dilogos
de abrir y grabar comparten el mismo directorio actual.
Cmo hemos podido ver en los fragmentos de cdigo anteriores, los mtodos
showOpenDialog() y showSaveDialog() devuelven un entero que indica si el
usuario ha seleccionado un archivo. Podemos utilizar el valor de retorno para
determinar si realizar o no la operacin requerida.
Si el usuario elige un archivo, el cdigo llama a getSelectedFile (del objeto
fileChooser) sobre el selector de archivos para obtener un ejemplar de File, que
representa el archivo elegido. Podemos utilizar otros mtodos del objeto File,
como getPath o isDirectory, para obtener informacin sobre l. Tambin
podemos llamar a otros mtodos como delete y rename para cambiar el archivo
Pgina 124
Pgina 125
void
abrirArchivoMouseClicked(java.awt.event.MouseEvent
Pgina 126
Pgina 127
Propsito
Pgina 128
Propsito
Fuerza el archivo indicado a ser
visible en la lista de archivos.
Selecciona u obtiene el directorio
cuyos archivos se estn mostrando en
el selector de archivos.
Cambia la lista para mostrar el
directorio padre del directorio actual.
Comprueba el sistema de archivos y
actualiza la lista del selector.
Propsito
Selecciona u obtiene el accesorio del
selector de archivos.
Selecciona u obtiene el filtro primario
del selector de archivos.
Selecciona u obtiene el visor de
archivos del selector.
Propsito
Selecciona el modo de seleccin de
Pgina 129
12
Una excepcin es un evento que ocurre durante la ejecucin del programa, de forma que interrumpe el flujo normal de las
sentencias.
Pgina 130
void
crearRAFMouseClicked(java.awt.event.MouseEvent
try {
// Cada vez que demos clic sobre este botn, se
//incorporara una nueva lnea al archivo de
// log que se crea la primera vez que se ejecuta
RandomAccessFile miRAFile;
String s = "Informacion a incorporar";
// Abrimos el archivo de acceso aleatorio
miRAFile =
new RandomAccessFile("C:/prueba.txt", "rw");
// Nos vamos al final del archivo
miRAFile.seek(miRAFile.length());
miRAFile.writeBytes(s);
miRAFile.close();
} catch (IOException ex) {
System.out.println("Error al Abrir el archivo");
}
}
Dentro del bloque try { } viene encerrada la parte del programa que se desea
manejar sus excepciones. El cdigo dentro de algn catch (TipoDeExcepcion
e) se ejecuta en caso de que se lance una excepcin TipoDeExcepcion o que
pertenezca al grupo TipoDeExcepcion. El sistema de ejecucin Java busca rar
el mtodo que est interesado en manejar una excepcin particular. Es decir si
se lanza una excepcin en el mtodo A, pero si A no est interesado en
manejar dicha excepcin, entonces el sistema de ejecucin Java ve quin
llam a A (supongamos que si existe, y es el mtodo B), entonces se regresa a
B y ve si est interesado en dicha excepcin, y as consecutivamente hasta
llegar al mtodo principal de nuestra aplicacin. En caso de no encontrar
alguien que quiera manejarlo, comnmente Java manda una lista de mensajes
en nuestra ventana de consola, y en muchos casos se termina la ejecucin de
nuestro programa. Cuando manejamos excepciones, podemos manejar
excepciones en forma especfica (por ejemplo, usar un ndice que est fuera de
los lmites de nuestro arreglo), o manejar una excepcin de cierta categora
(por ejemplo, una excepcin lanzada por mal uso de un arreglo de datos), o
manejar todas las excepciones en su conjunto. Para el primer caso, es
necesario este cdigo:
catch(ArrayIndexOutOfBoundsException e){ }
Para el segundo:
catch (ArrayException e){}
Y para el ltimo
catch (Exception e){ }
Instituto Tecnolgico de Morelia.
Pgina 131
Pgina 132
3.2 Programe una pequea funcin que le permita leer un archivo de entrada y
le diga cuantas palabras encontr en el mismo.
3.3 Disee un programa que le permita leer un archivo en su totalidad y que le
diga cuantas veces encontr cierta palabra en l. El usuario deber especificar
que palabra desea buscar y elegir el archivo de entrada.
3.4 Programe una aplicacin que le permita consultar el contenido de un
archivo de texto, se le proporcionaran dos datos al programa, una palabra que
se desea buscar y otra palabra con la que se desea sustituir la anterior. El
Instituto Tecnolgico de Morelia.
Pgina 133
Pgina 134
Tipo de dato
Numrico
Numrico
Numerico
CHAR
CHAR
CHAR
CHAR
CHAR
CHAR
CHAR
CHAR
CHAR
CHAR
Longitud
6
6
11
18
40
40
40
20
20
20
20
6
6
Pos Inicial
1
7
13
24
42
82
122
162
182
202
222
242
248
Pos Final
6
12
23
41
81
121
161
181
201
221
241
247
253
Comentarios
1 AFORE
1 Afiliacin 2 Traspaso
nmero de seguro social
Clave CURP
Apellido Paterno
Apellido Materno
Nombres
Telfono del domicilio del trabajador
Telfono de la oficina del trabajador
Telfono celular del trabajador
Telfono del jefe el trabajador
Extensin de oficina del trabajador
Extensin del oficina del jefe
Pgina 135
En resumen, debe leer del archivo de Excel las diferentes columnas o extraer la
informacin a un archivo de texto que le permita realizar las validaciones
necesarias a los registros. La aplicacin real obedece ms validaciones y
reglas pero para nuestro proyecto creo que con esto ser suficiente.
Pgina 136
4.1 Introduccin.
En esta unidad trabajaremos sobre bases de datos, sin embargo, no es objetivo
de esta unidad profundizar demasiado en el tema, mas bien, el dar al
estudiante una idea del funcionamiento y los beneficios de utilizar una base de
datos y tambin presentarle superficialmente algunas nuevas tecnologas
diseadas para trabajar con ellas que adems de proporcionar un mejor diseo
a la estructura de una aplicacin, ayudan muchsimo a un funcionamiento
mucho ms eficiente.
Como podr recordar, el desarrollo de este material se basa en el lenguaje
java, sin embargo, adicionalmente a los temas que se deben desarrollar de
acuerdo al temario, explicar y ejemplificare el uso de tecnologas
importantsimas relacionadas con el lenguaje java, que adems son
equivalentes a las que se piden en el temario pero que son basadas en otros
lenguajes como Visual Basic. Es necesario mencionar que debido a que las
bases de datos son objeto de estudio en materias posteriores, aqu solo dar
una breve introduccin. Dando as al estudiante los conocimientos necesarios
para facilitar el aprendizaje futuro.
Para ello utilizaremos la herramienta de java JDBC13. Como manejador de
bases de datos utilizaremos MySQL.
JDBC fue diseado para mantener sencillas las cosas sencillas. Esto significa
que el API14 JDBC hace muy sencillas las tareas diarias de una base de datos,
como una simple sentencia SELECT. Esta seccin nos llevar a travs de
ejemplos que utilizan el JDBC para ejecutar sentencias SQL15 comunes, para
que podamos ver lo sencilla que es la utilizacin del API JDBC bsico.
Al final de esta primera seccin, sabremos cmo utilizar el API bsico del JDBC
para crear tablas, insertar valores en ellas, pedir tablas, recuperar los
resultados de las peticiones y actualizar las tablas. En este proceso,
aprenderemos como utilizar las sentencias sencillas y veremos un ejemplo de
un procedimiento almacenado. Tambin aprenderemos como realizar
transacciones y como capturar excepciones y avisos.
Instalar Componentes Necesarios.
Para crear una aplicacin que utiliza una base de datos debemos conectar
nuestro programa hecho en con el lenguaje java en NetBeans con el manejador
de la base de datos MySQL. Lo primero que debemos hacer antes de conectar
Java con MySQL en NetBeans es instalar ambos. En la primera unidad vimos
como
instalar NetBeans. Para MySQL, no solo instalaremos MySQL,
instalaremos un paquete llamado Appserv16.
13
Java Database Connectivity, es un API que permite ejecutar operaciones sobre una base de datos.
Del ingls Application Programming Interface Interfaz de Programacin de Aplicaciones.
15
Structured Query Language Lenguaje estructurado para consultas en una base de datos.
16
Es un paquete que instalar en la PC Apache, PHP, MySQL y phpMyAdmin, dejando las aplicaciones configuradas para su
funcionamiento.
14
Pgina 138
Pgina 139
Pgina 140
Para probar que la instalacin funciona debemos iniciar ambos servidores, para
hacer esto vaya a inicio y busque AppServ, luego Control Server by Service y
ah seleccione Apache start y MySQL start.
Puede ser que necesite en determinado momento detener o reiniciar el servidor
apache, para que no tenga que venir a este punto en todo momento, puede
utilizar Apache Monitor, al ejecutar esto, aparecer un pequeo icono en la
esquina inferior derecha con el cual tendr acceso a estos comandos.
Una vez que ambos servidores estn funcionando habr algn navegador de
internet y escriba localhost en el apartado de la pgina.
Lo que se muestra es la pgina de inicio de nuestro servidor apache. Si no se
muestra la siguiente pantalla, puede ser que se haya instalado mal o que no
hayamos iniciado los servidores.
Nota: localhost funciona nicamente si usted dejo el puerto 80 al momento de
instalar el servidor apache, si por algn motivo usted cambio ese nmero,
deber escribir localhost:xxxx (Ej. Localhost:8080).
Pgina 141
Una vez que tenemos esta pgina vamos a entrar a phpMyadmin para
administrar nuestras bases de datos. Para ello pulse donde dice phpMyadmin
Database Manager.
Para tener acceso deberemos ingresar nuestro nombre de usuario y
contrasea; pero, hasta este momento nicamente existe el usuario root, para
el cual especificamos una contrasea al momento de instalar. Escriba root en
el nombre de usuario y la contrasea que eligi para poder entrar.
Pgina 142
Como puede observar, se muestra un listado de las tablas que contiene esa
base de datos. Seleccione la tabla user que est en lo ms bajo.
Hay dos opciones:
Si da clic sobre la palabra user se mostraran los campos de la tabla, y su
descripcin. Esto es lo mismo que seleccionar la tabla y luego dar clic en la
pestaa Estructura.
Si da clic sobre la pequea imagen de la tabla, se mostrar el contenido de la
tabla, es decir los registros que se encuentran almacenados. Esto equivale a
seleccionar una tabla y dar clic en la pestaa Examinar (Esta opcin es la que
nos interesa en este momento.)
Pgina 143
Como puede observar, se nos muestra la sintaxis de la consulta SQL que nos
mostrara el contenido de esta tabla en la seccin consulta SQL y en la parte
inferior nos lista los resultados de la consulta. Esta herramienta le puede ser de
gran utilidad si no est seguro de la sintaxis de alguna accin sobre una tabla
al momento de programar y necesite saber cmo hacer algo sobre alguna
tabla todo lo que usted haga aqu de manera grfica, se mostrara en consulta
SQL.
Vea que el nico registro de la tabla es el usuario root y en el campo
Password aparecen muchos caracteres. Esto es debido a que no es
conveniente tener almacenada este tipo de informacin sin codificar. (Al
momento de instalar, usted debi elegir algn mtodo de codificacin, si no se
otorga uno por default). Si desea agregar un nuevo registro a esa tabla, haga
click en la pestaa Insertar y llene los campos correspondientes.
Como puede ver, ser capaz de crear nuevos usuarios con diferentes
privilegios sobre las tablas o las cosas que puede hacer o no.
Conectar Java con MySql en NetBeans.
El proceso para conectar Java con MySQL es diferente en las diferentes
versiones de NetBeans debido a que algunas versiones ya tienen incluidos los
drivers necesarios y en otras se deben agregar manualmente.
Conexin en versiones sin drivers.
Lo primero es descargar el conector de la pgina oficial. El enlace es el
siguiente: http://www.mysql.com/products/connector/j/
Para conectar una base de datos con java, abrimos NetBeans y creamos un
proyecto, hacemos clic en la pestaa "Runtime" (En la versin que estamos
utilizando la pestaa dice Services) y buscamos la opcin "Databases",
Pgina 144
Ahora, veremos que en la carpeta "Driver" nos aparecer una opcin llamada
com.mysql.jdbc.Driver, la seleccionamos con el botn derecho del mouse y
seleccionamos "Connect Using"
Pgina 145
Ahora, se nos pide los datos de la base de datos, en la opcin "Database URL" debemos
ingresar la direccin de la base de datos, empezando con el prefijo
"jdbc:mysql:://host/bd, ingresamos nuestro nombre de usuario y contrasea.
Pgina 146
La manera de conectarse con la base de datos anterior, puede ser til para
realizar pruebas con los usuarios que se hayan creado o para otros fines pero
la manera importante de establecer la conexin es mediante cdigo, dentro de
alguna funcin.
Ejemplo: Modificar nuestra aplicacin para conectarse con una Base de Datos.
Cree una funcin que pueda llamar desde cualquier lugar para conectarse
mediante lneas de cdigo con una base de datos.
Pgina 147
static
static
static
static
String
String
String
String
bd = "test"; //Nombre de la BD
login = "root"; //usuario
password = "entrar"; //Contrasea
url = "jdbc:mysql://localhost/"+bd;
Pgina 148
Figura 4.15 Ejemplo de botn que invoca una conexin con la base de datos.
Pgina 149
Pgina 150
Ahora hay que definir que tamao y tipo sern nuestros campos. Para el
ejemplo manejaremos el campo Id como numrico y los dems sern
caracteres. El campo Id, ser la llave de cada una de las tablas. De clic en
Guardar cuando termine con cada tabla.
Pgina 151
Ahora vamos a nuestro ejemplo a crear registros en las tablas. Hasta este
punto, nos conectamos con nuestra base de datos al dar clic en un botn.
Obviamente no debe ser as, una aplicacin de este tipo debera conectarse sin
necesidad de tener que indicrselo.
En el ejemplo donde se conecta con la base de datos usando un botn
estamos terminando la conexin inmediatamente despus de establecerla.
Para este ejemplo hay que quitar esa lnea y modificar los datos para
conectarnos a la base de datos que acabamos de crear. La clase queda de la
siguiente manera.
package aplicaciondeescritorio;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConectarBD {
public static String bd = "negocio"; //Nombre de la BD
public static String login = "root"; //usuario
public static String password = "entrar"; //Contrasea
public static String url = "jdbc:mysql://localhost/"+bd;
public static Connection conectar() {
Pgina 152
En el ejemplo anterior nos conectamos con una base de datos vaca que se
llama test, ahora nos conectamos con la base de datos que creamos. Solo hay
que cambiar el nombre de la base a la que nos conectamos y quitar la
instruccin que nos desconectaba. Tambin modificamos un poco la funcin
para que nos regrese el objeto que representa nuestra conexin. Lo
necesitaremos para los accesos a la base de datos.
Ahora crearemos un botn que de de alta productos en nuestra base de datos,
quitaremos el botn de Conectar ya que eso lo haremos aqu antes de dar de
alta un registro. Nos pedir por medio de cajas de dilogo los datos y los
almacenar en la base de datos.
El cdigo del botn es el siguiente:
private void altaProductoMouseClicked(java.awt.event.MouseEvent evt) {
try {
java.sql.Connection cone = ConectarBD.conectar();
String Id = JOptionPane.showInputDialog(menuBar, "Id :");
String nombre = JOptionPane.showInputDialog(menuBar, "Nombre :");
String precio = JOptionPane.showInputDialog(menuBar, "Precio :");
java.sql.Statement st = cone.createStatement();
st.execute("INSERT INTO `negocio`.`productos` (`Id` ,`nombre` ,`precio`)
VALUES ('"+Id+"', '"+nombre+"', '"+precio+"');");
} catch (SQLException ex) {
Logger.getLogger(AplicacionDeEscritorioView.class.getName()).
log(Level.SEVERE, null, ex);
}
}
Pgina 153
Pgina 154
RDO
ADO
ADO.NET
ADO.NET 2 (2006)
Funcionamiento
ADO es un intermediario entre el programa y la base de datos. El programa no
ve la base de datos directamente, sino que hace todo el trabajo a travs de
ADO. Usando ADO, el programa se comunica con la base de datos, consulta,
edita, inserta, borra registros, aade tablas, etc. ADO a su vez se comunica
con la base de datos a travs de un "proveedor de datos".
El programa usa ADO para hacer una solicitud a la base de datos:
"Dame el nombre y apellido de todos los clientes que vivan en Mxico"
Programa ---> ADO ---> Proveedor de datos ---> Base de datos
En la direccin contraria, la base de datos responde, comunicndose con el
proveedor de datos, ste con ADO, y al final, la informacin llega al programa.
La base de datos responde:
Programa <--- ADO <--- Proveedor de datos <--- Base de datos
Pgina 155
Active Server Pages, tecnologa de Microsoft del tipo lado servidor para pginas web dinmicas.
Estndar para manejo de bases de datos creado por Microsoft.
Pgina 156
Pgina 157
Mode
Especifica los permisos de la conexin.
Algunos de los valores ms habituales que podemos asignar son:
1 Establece permiso solo de Lectura
2 Establece permiso solo de Escritura
3 Establece permiso de Lectura/Escritura
Ejemplo:
<% conexion.Mode=3 %>
Mtodos:
BeginTrans
Abre una transaccin; todas las operaciones que realicemos a partir de ese
momento no sern efectivas hasta que no cerremos la transaccin.
Ejemplo:
Pgina 158
Pgina 159
Propiedades:
Description
Descripcin del error.
Number
El numero de error.
SQLState
Cdigo de error SQL.
Mtodos:
Clear
Elimina los datos del objeto Error.
Ejemplo: Examinando los posibles datos de la coleccin Errors. Se crea un
ciclo y se imprimen los posibles errores.
.......
.......
Miconexion.open
If Miconexion.Errors.Count > 0 then
For each error in Miconexion.errors then
Response.write Error.Number & " = "& Error.Description
next
End if
Nota: Count es una propiedad de la coleccin Errors.
Objeto RecordSet
El objeto Recordset es la interface entre los datos obtenidos de nuestras
consultas sobre las tablas y nuestras pginas ASP. Representa una tabla
organizada en filas (registros) y columnas (campos). La propiedades y mtodos
de Recordset son muchos, en esta unidad vamos a ver las ms interesantes,
para hacerlo un poco ms sencillo de entender vamos a verlos agrupados por
la funcionalidad que nos ofrecen.
Definicin del tipo de Cursor
Entendemos como cursor el puntero que nos permite desplazarnos por los
registros del recordset. Dependiendo del tipo elegido determinaremos los
Pgina 160
valor
adOpenForwardOnly
adOpenKeyset
adOpenDynamic
adOpenStatic
Caractersticas
Es el cursor por defecto, solo nos permite
recorrer la tabla de forma secuencial (no se
puede volver hacia atrs) y no permite
modificaciones en los registros. No vemos
los cambios realizados en la tabla por otro
recordset.
Nos permite movernos en los dos sentidos,
si permite modificaciones en los registros.
Vemos los cambios realizados en la tabla
por otro recordset a excepcin de las
nuevas altas.
Nos permite movernos en los dos sentidos,
si permite modificaciones en los registros.
Vemos todos los cambios realizados en la
tabla por otro recordset.
Nos permite movernos en los dos sentidos,
no permite modificaciones en los registros.
No
vemos los cambios realizados en la tabla
por otro recordset.
valor
adLockReadOnly
dLockPessimistic
adLockOptimistic
Caractersticas
Es el que est por defecto; no permite al
usuario modificar los datos de la tabla.
Cuando se abra la tabla nadie ms podr
hacerlo, este modo nos asegura la plena
integridad de los datos.
Cierra la tabla a los dems usuarios cuando
se
invoque al mtodo Update del objeto
recordset;
de este modo la Base de datos quedar
bloqueada menos tiempo que con el
mtodo anterior.
Pgina 161
Caractersticas
Mueve el cursor Num_registros hacia abajo si
es positivo y hacia arriba si es negativo.
Mueve el cursor al primer registro del
Recordset.
Mueve el cursor al ltimo registro del
Recordset.
Mueve el cursor un registro hacia adelante.
Mueve el cursor un registro hacia atrs.
Propiedades usadas:
Propiedades
PageSize
(Ej. rs.Pagesize=10)
AbsolutePage
(Ej. rs.AbsolutePage=2)
PageCount
(Ej. xx=rs.PageCount)
Absoluteposition
(Ej.
rs.Absoluteposition=17)
RecordCount
(Ej. xx=rs.recordcount)
BOF
EOF
Caracteristicas
Establece el nmero de registros por pgina
del
Recordset.
Mueve el cursor al primer registro de dicha
pgina (es necesario definir anteriormente el
pageSize).
Contiene el nmero de pginas del recordset,
tomando como base PageSize.
Mueve el cursor al num_registro especificado.
Contiene el nmero de registros del recordset;
Nota:
No
funciona
con
el
cursor
adOpenForwardOnly
Toma el valor True cuando estamos en el
primer
registro del recordset
Toma el valor True cuando estamos en el
ultimo
registro del recordset
Pgina 162
Caracteristicas
Abre un nuevo registro en el recordset
para introducir
datos
Caracteristicas
Abre el recordset y almacena en el
resultado de sql contra la conexin
EJ.
set
rs=createobject("ADODB.Recordset")
rs.CursorType = 1
rs.LockType = 3
Sqltxt="SELECT * FROM libros"
rs.open Sqltxt, "DSN=Biblioteca"
Close
Cierra el recordset
Tabla 4.6 Mtodos usados para abrir y cerrar un Recordset.
Ejemplo de listado de un Recordset: Suponga que tiene una BD, en ella la tabla
almacn y en esa tabla los campos Id_Producto, Producto, Cantidad y Precio
para el ejemplo.
Nombre del archivo: Listado.asp
Pgina 163
4.4.1 ADO.NET
El ADO.NET es un conjunto de componentes del software que pueden ser
usados por los programadores para acceder a datos y a servicios de datos. Es
una parte de la biblioteca de clases base que estn incluidas en el Microsoft
.NET Framework. Es comnmente usado por los programadores para acceder
y para modificar los datos almacenados en un Sistema Gestor de Bases de
Datos Relacionales, aunque tambin puede ser usado para acceder a datos en
fuentes no relacionales. ADO.NET es a veces considerado como una evolucin
de la tecnologa ActiveX Data Objects (ADO), pero fue cambiado tan
extensivamente que puede ser concebido como un producto enteramente
nuevo.
4.4.2 JDBC
JDBC es el acrnimo de Java Database Connectivity, un API que permite la
ejecucin de operaciones sobre bases de datos desde el lenguaje de
programacin Java independientemente del sistema operativo donde se
ejecute o de la base de datos a la cual se accede utilizando el dialecto SQL del
modelo de base de datos que se utilice.
El API JDBC se presenta como una coleccin de interfaces Java y mtodos de
gestin de manejadores de conexin hacia cada modelo especfico de base de
datos. Un manejador de conexiones hacia un modelo de base de datos en
Instituto Tecnolgico de Morelia.
Pgina 164
Pgina 165
Pgina 166
El modelo Cliente: que almacena los datos de los clientes (el ID, el
nombre y la direccin).
El modelo Producto: que almacena los datos de los productos (el ID, el
nombre y el precio).
Lo primero que debemos hacer es crear los DTO, uno para cada modelo:
Archivo Empleado.class:
Pgina 167
Pgina 168
Ahora, vamos a crear los DAO, uno para cada modelo tambin:
Archivo EmpleadoDAO.class:
class EmpleadoDAO {
public void create(EmpleadoDTO dto) {
/* Implementacin del mtodo create() */
}
public EmpleadoDTO read(EmpleadoDTO dto) {
/* Implementacin del mtodo read() */
}
public void update(EmpleadoDTO dto, int id) {
/* Implementacin del mtodo update() */
}
public void delete(EmpleadoDTO dto) {
/* Implementacin del mtodo delete() */
}
}
Archivo ClienteDAO.class:
class ClienteDAO {
public void create(ClienteDAO dto) {
/* Implementacin del mtodo create() */
}
public ClienteDAO read(ClienteDAO dto) {
/* Implementacin del mtodo read() */
}
Pgina 169
Pgina 170
Pgina 171
Productos
ID
Nombre
Precio
Existencia
4.5 Programe una funcin que le permita leer registro a registro el contenido de
las tablas de una base de datos. Implemntela en una aplicacin grfica que
tenga los botones y campos de texto necesarios para ello. El usuario deber
elegir que tabla desea consultar, en caso de que la base de datos contenga
varias.
4.6 Ejercicio de continuacin del proyecto general. Cree una base de datos con
el nombre que guste que contenga una tabla que se llame usuarios esta tabla
deber contener los campos: ID, usuario, password, nombre. Luego, haga que
la calculadora que ha desarrollado durante todo el material utilice esta base de
datos para el control de acceso, al igual que en la unidad anterior, donde se
utiliz un archivo estructurado.
4.7 Desarrolle una aplicacin grfica que implemente bases de datos para
almacenar palabras en ingles y sus equivalentes en espaol. Deber crear la
base de datos necesaria y permitir al usuario consultar el significado de una
palabra en ingles. O sea, un traductor implementando bases de datos.
4.8 Explique con sus propias palabras la importancia de la capa de persistencia
de datos en una aplicacin. Para qu sirve? Y Qu herramientas puede
utilizar para crearla?
4.9 Cules son algunos de los objetos ADO Principales? Para qu sirve
cada uno?
4.10 Haga un programa sencillo en el que implemente algn objeto DAO para
una consulta de datos. Realice la misma funcin sin utilizar el objeto y analice
Instituto Tecnolgico de Morelia.
Pgina 172
Pgina 173
Unidad 5. Componentes y
Controles Definidos por el
Usuario.
Pgina 175
para
Pgina 176
19
OCX hace referencia a mdulos que publican controles y funciones para ser utilizados en programas para Windows, incluyendo
especialmente el navegador.
Pgina 177
Para crear un control OCX, siga los siguientes pasos en el Visual Basic.
NOTA IMPORTANTE: En esta ocasin no se sealar punto a punto y por
medio de imgenes dnde se localiza cada opcin dentro de la interfaz grfica
de Visual Basic, solo las que podra tener dificultad en localizar. Sin embargo,
est en muy intuitiva y no tendr problema en seguir el procedimiento que se
describe a continuacin.
1. Abrir Visual Basic y crear un proyecto "EXE Estndar" (Standard EXE) y le
vamos a agregar otro proyecto de tipo "Control ActiveX". De tal forma que nos
queden los dos proyectos como si fuera uno. El control que crearemos ser
uno que nos permita apagar Windows, reiniciarlo, etc.
2. Seleccionamos la propiedad "InvisibleAtRunTime" y la ponemos en true, ya
que nuestro control no ser visible durante la ejecucin del proyecto en el que
se encuentre.
Pgina 178
Como puede observar, nuestro control es como un form normal, pero sin
bordes, ahora inserte un objeto image (Image1, se encuentran del lado
izquierdo de la pantalla, pase el puntero por encima para que se muestre el
nombre de cada objeto) y ponga como picture un icono que te parezca
representativo de lo que va a hacer nuestro control. O alguna imagen que
tenga a la mano para realizar la prueba.
3. En el evento "Resize" del UserControl pon lo siguiente... (Para ver los
eventos debe dar doble clic sobre el objeto que desee y a continuacin
seleccionar
el
evento
de
una
lista
disponible).
Private Sub UserControl_Resize()
Image1.Top = 0
Image1.Left = 0
UserControl.Height = Image1.Height
UserControl.Width = Image1.Width
End Sub
Esto har que el control se vea en el formulario como si fuera solo el icono de
la imagen.
Pgina 179
4. Ahora debemos crear los Mtodos del control, para eso vaya al men
"Complementos" (Add-Ins), de ah a "Administrador de Complementos" (Add-In
Manager) y haga doble clic sobre "Asistente para interfaz de controles ActiveX
de VB" (VB 6 ActiveX Ctrl Interface Wizard) seleccione la casilla Cargado/No
Cargado (Loaded/Unloaded) y pulse "Aceptar".
Pgina 180
Pgina 181
El cuadro que nos salteamos nos permite decir a cul de los componentes
insertados en nuestro control corresponden los mtodos que tengamos puestos
(de los que aparecan en "Nombres Disponibles") ya que hay mtodos que lo
tienen ms de uno de los controles insertados y esto se presta a confusiones.
En la ventana actual, podemos agregar una descripcin a cada cosa y designar
que valor retorna una funcin. Ponga una descripcin a cada mtodo lo desea,
aunque los nombres son bastante descriptivos. No cambien nada en lo de "Tipo
Devuelto". Denle a "Siguiente" y a "Finalizar".
Pgina 182
5. Vamos al cdigo de control. Tenemos que declarar las APIs20 que realizaran
las operaciones necesarias:
(si no est familiarizado con la interfaz puede perderse en este punto, el cdigo
siguiente debe ser insertado en la parte de las declaraciones del cdigo de
nuestro control.)
Con esto se nos permitir mostrar el dialogo de "Apagar el Sistema":
Private Declare Function SHShutDownDialog Lib
Alias "#60" (ByVal YourGuess As Long) As Long
"shell32"
EWX_LOGOFF = 0
EWX_SHUTDOWN = 1
EWX_REBOOT = 2
EWX_FORCE = 4
Una vez que tenemos las declaraciones, tenemos las siguientes funciones (Se
pueden ver en la parte baja del cdigo):
Public Function Dialogo_Apagar() As Variant
End Function
Y as para las dems funciones.
Ahora debemos poner las llamadas a las APIs dentro de cada
funcin...
Public Function Dialogo_Apagar() As Variant
SHShutDownDialog 0
End Function
Public Function Cerrar_Sesion() As Variant
ExitWindowsEx EWX_LOGOFF, 0
End Function
Public Function Apagar_Sistema() As Variant
ExitWindowsEx EWX_SHUTDOWN, 0
End Function
20
Pgina 183
Control
Nuevo
Pgina 184
En la figura 5.1 podemos ver el resultado obtenido tal y como se ve con Internet
Explorer 7.0. Pasemos a explicar el este cdigo: El valor del atributo CLASSID
es el que identifica el tipo de control ActiveX que estamos insertando. Este
cdigo es complejo y se sale de los objetivos de esta obra.
Pgina 185
Usando este control ActiveX podemos crear efectos variados con texto
Entre los principales parmetros usados en la insercin de este control ActiveX
encontramos:
Caption: Es el texto que debe insertarse con las caractersticas que se indican
con el resto de parmetros.
Angle: Es el ngulo del texto con la horizontal en grados. Si le damos el valor
90 el control mostrar el texto en vertical.
FontSize: Es el tamao del texto.
FontName: Es el tipo de letra.
Backcolor y Forecolor: Son el color del fondo y el color del texto
respectivamente.
Ejercicio: Hacer pruebas modificando los valores de estos y el resto de los
atributos para adaptarlo a nuestras necesidades y poder incorporarlo en sus
propias pginas.
EJERCICIOS PROPUESTOS
Pgina 186
PROYECTO INTEGRAL.
Proyecto 1: Crear tu propio componente o control ActiveX. No importa que
funcionalidad le de. Utilice Visual Basic para crear un objeto personalizado y
posteriormente utilcelo en alguna aplicacin de escritorio o Web.
Recuerde: Visual Basic es una de las herramientas que permiten crear este tipo
de objetos de una manera sencilla. Despus de crearlo, deber probarlo y
utilizarlo.
Proyecto 2: Desarrolle una investigacin detallada acerca de Java Beans y
desarrolle un ejemplo sencillo que realice cualquier funcin equivalente a la de
los controles ActiveX.
Pgina 187
Apndice 1
Instalacin de NetBeans
A continuacin se darn las instrucciones de como instalar NetBeans IDE en
cada una de las plataformas soportadas. Recuerde que el JDK21 de java ya
debe estar instalado en el sistema. Hay dos versiones de NetBeans, una
normal y una que incluye ya los paquetes, sin embargo la instalacin no tiene
dificultad alguna. (Es del tipo accept, next, next, finish.)
Instalacin en Windows XP o Vista
1. Bajar e instalar el JDK de internet, una de las paginas que lo tiene es:
http://java.sun.com/javase/downloads/index.jsp
2. Despus de haber bajado el instalador, dar doble clic sobre el icono para
iniciar el instalador.
3. Despus aparecer el Acuerdo de Licenciamiento (License Agreement),
acptelo y de clic en Siguiente (Next).
4. Especificar un directorio vaco donde instalar Netbeans IDE. Dar clic en
Siguiente (Next).
5. Selecciones el JDK que se quiere usar junto con el NetBeans IDE de la
lista de seleccin si hay ms de uno. Dar clic en Siguiente (Next). (si ya
tiene instalada una versin no le pregunta)
6. Verifique que el directorio de instalacin es el correcto y que se cuenta
con espacio suficiente en el sistema para la instalacin.
7. De clic en Siguiente (Next) para iniciar la instalacin.
Instalacin en Linux (Este proceso se prob en Ubuntu 8.1 Intrepid Ibex)
1. Abrir una consola de comandos y ejecutar el comando sudo su,
despus de ingresar la contrasea adecuada podr ejecutar el siguiente
comando.
2. $sudo apt-get install netbeans. Con esto se nos listas los paquetes que
se instalarn, el espacio requerido, etc. Y al final se nos preguntar si se
desea proceder.
3. Desea continuar [S/n]?
4. Una vez que selecciona continuar, la instalacin se crea sin ningn
problema y la aplicacin se agrega a la lista de aplicaciones de Ubuntu.
Nota: Los pasos pueden ser diferentes dependiendo de la distribucin que
tenga.
Ejecutar NetBeans IDE
A continuacin se explicar la forma de ejecutar NetBeans IDE en los
diferentes sistemas operativos.
Ejecutar en Windows XP o Vista
21
Java Development Kit. Kit de desarrollo de Java. Necesario para trabajar con dicho lenguaje.
Pgina 188
Pgina 189
Pgina 190
Apndice 2
Introduccin a MySQL
MySQL es un gestor de base de datos sencillo de usar, es uno de los motores de base
de datos ms usados en Internet, la principal razn de esto es que es Open Source.
En este apndice se pretende mostrar el uso del programa cliente mysql para crear y
usar una sencilla base de datos, se analizara solo lo necesario para llevar a cabo un
ejercicio como el que se presenta en el material.
Mysql es un programa interactivo que permite conectarnos a un servidor MySQL,
ejecutar algunas consultas, y ver los resultados.
Supongamos que mysql est instalado en alguna mquina y que disponemos de un
servidor MySQL al cual podemos conectarnos (Tal como lo deja AppServ). Para ver la
lista de opciones proporcionadas por mysql, lo invocamos con la opcin --help:
> mysql --help
A continuacin se describe el proceso completo de creacin y uso de una base de
datos en MySQL. Puesto que es imposible que se describan a detalle muchos de los
temas relacionados con la funcionalidad total de MySQL, se recomienda que se
consulte el manual de MySQL para obtener ms informacin al respecto.
Conectar al servidor MySQL
Para conectarse al servidor, usualmente necesitamos de un nombre de usuario (login)
y de una contrasea (password), y si el servidor al que nos deseamos conectar est en
una mquina diferente de la nuestra, tambin necesitamos indicar el nombre o la
direccin IP de dicho servidor. Una vez que conocemos estos tres valores, podemos
conectarnos de la siguiente manera:
> mysql -h NombreDelServidor -u NombreDeUsuario -p
Cuando ejecutamos este comando, se nos pedir que proporcionemos tambin la
contrasea para el nombre de usuario que estamos usando.
Si la conexin al servidor MySQL se pudo establecer de manera satisfactoria,
recibiremos el mensaje de bienvenida y estaremos en el prompt de mysql:
Pgina 191
Sintaxis MySQL
En este momento debimos de haber podido conectarnos ya al servidor MySQL, an
cuando no hemos seleccionado alguna base de datos para trabajar. Lo que haremos a
continuacin es escribir algunos comandos para irnos familiarizando con el
funcionamiento de mysql.
Pgina 192
Sintaxis MySQL
Un comando no necesita ser escrito en una sola lnea, as que los comandos que
requieran de varias lneas no son un problema. mysql determinar en dnde finaliza la
sentencia cuando encuentre el punto y coma, no cuando encuentre el fin de lnea.
Aqu est un ejemplo que muestra una consulta simple escrita en varias lneas:
mysql> SELECT
-> USER(),
-> CURRENT_DATE;
+-------------------+--------------+
| USER()
| CURRENT_DATE |
+-------------------+--------------+
| root@localhost
| 2008-12-24
|
+-------------------+--------------+
1 row in set (0.00 sec)
mysql>
En este ejemplo debe notarse como cambia el texto (de mysql> a ->, a ese texto se le
conoce como propmt.) cuando se escribe una consulta en varias lneas. Esta es la
manera en cmo mysql indica que est esperando a que finalice la consulta. Sin
embargo si deseamos no terminar de escribir la consulta, podemos hacerlo al escribir \c
como se muestra en el siguiente ejemplo:
mysql> SELECT
-> USER(),
-> \c
mysql>
Pgina 193
Pgina 194
Pgina 195
Pgina 196
Pgina 197
Pgina 198
FROM
DeQueTabla
WHERE
Pgina 199
Pgina 200
Pgina 201
ITM
Conclusiones
En este material se han conseguido los objetivos propuestos:
Elaborar el material didctico para la asignatura de Programacin II y proporcionar los
conocimientos terico prcticos a los estudiantes, quienes aplicarn los
conocimientos en un lenguaje de programacin orientado a eventos, para resolver
problemas dentro de los procesos administrativos.
Desarrollar material que lleve de la mano al alumno y sea una herramienta til para el
profesor, con explicaciones sencillas.
Respetar el temario indicado y desarrollarlo utilizando el lenguaje Java y analizar
herramientas alternativas relacionadas con Java para temas que no tienen relacin con
dicho lenguaje.
Apoyar sustancialmente al profesor y alumno de la asignatura de Programacin II,
ofreciendo al alumno una buena referencia de la cual extraer informacin, tomar
ejemplos, realizar ejercicios, etc. durante el estudio de esta asignatura. A los profesores
de la misma, les podr funcionar como apoyo y gua durante el desarrollo de los temas.
As mismo, apoya a sostener el programa de acreditacin de la carrera de la
Licenciatura en Informtica.
Este material fue desarrollado de manera tal, que se facilite el aprendizaje y que este
sea adems progresivo y la dificultad vaya en aumento para as no solo guiar al
alumno, sino inculcar en l la necesidad de investigar y aprender ms acerca de los
temas expuestos. Por ejemplo: en la unidad uno se desarrollan los temas relacionados
con la base del lenguaje, sus estructuras, su sintaxis, su importancia, etc. Y todo se
realiza desarrollando proyectos en consola, con una interfaz rudimentaria y ejemplos
sencillos, de cualquier modo, los ejemplos van aumentando en su grado de
complejidad, comenzando con un simple hola mundo hasta pequeas aplicaciones
donde se piden datos por medio de una interfaz ahora un poco mejor y se trabajan de
tal manera que se obliga al alumno a practicar lo expuesto durante toda la unidad
como: ciclos, estructuras, declaraciones, objetos, clases, herencia, polimorfismo, etc.
etc. etc.
Siguiendo esta idea de aumento progresivo en dificultad de programacin y anlisis de
conceptos, en la segunda unidad se introduce al alumno a un ambiente grfico, en el
cual debe implementar todo lo aprendido en la unidad I pero ahora utilizando
elementos de un ambiente grfico como botones, cuadros de dilogo, ventanas, reas
de texto, etc.
Instituto Tecnolgico de Morelia.
Pgina 202
ITM
Posteriormente, en la unidad III, el alumno es guiado a implementar lo aprendido en las
unidades anteriores y fusionarlos con la administracin de archivos. Hasta el momento,
todos los ejemplos y ejercicios fueron planeados de tal manera que los datos fueran
almacenados y generados en memoria, en esta unidad se da otro giro implementando
ahora archivos como fuente de informacin y lugares de almacenamiento. Es as como
en esta unidad se logra desarrollar aplicaciones grficamente amigables que
implementan archivos para funcionar.
Despus, en la unidad IV se sigue con la lnea de aprendizaje guiando al alumno a la
implementacin de bases de datos como medio de almacenaje y lectura de
informacin. Aunque no se profundiza demasiado en este tema debido a que el objetivo
durante sta materia es ms introductorio. A pesar de esto, se detalla como instalar un
servidor de bases de datos, como utilizarla usando el lenguaje de programacin java y
el ambiente grfico de NetBeans e incluso se ejemplifican pequeas aplicaciones con
bases de datos pequeas tambin. Con ello, el alumno contar con los conocimientos
necesarios en relacin con bases de datos para un aprendizaje futuro.
Por ltimo, en la unidad V salimos un poco de la temtica que gira alrededor de Java
para analizar herramientas que trabajan con otros lenguajes como Visual Basic. El
objetivo es mostrar al alumno que adems de poder programar aplicaciones poderosas
utilizando los componentes y controles existentes, es posible crear sus propios
componentes con fines especficos. Y debido a que los temas que propone el temario
estn relacionados con el lenguaje Visual Basic y uno de los objetivos del libro fue
desarrollar los temas utilizando el lenguaje java, se da al alumno la tarea de analizar el
equivalente a la tecnologa Active X de Microsoft en el lenguaje Java.
As pues, se estructur el contenido de este material, guiando al alumno de lo ms
sencillo a lo ms complejo, siempre ejemplificando y proponiendo ejercicios que
fuercen al alumno a ir un poco ms profundo
A pesar de que este material fue realizado en la versin ms actual en cuanto a las
herramientas que involucra, siempre hay herramientas nuevas que surgen incluso da
con da y esto podra dejar atrs ciertos mtodos analizados. Sin embargo, la esencia
del funcionamiento de cualquier lenguaje orientado a eventos queda plasmada y no
pasar de moda, adems, analizando la evolucin de los lenguajes de programacin
puedo predecir que este material ser de utilidad durante suficiente tiempo para cumplir
su misin y ayudar al alumnado y profesorado de la mejor institucin educativa pblica
del estado a aprender y ensear respectivamente.
Pgina 203
ITM
Bibliografa
3. Taylor David.
Object Orient informations systems, planning and implementations.
Ed. Ed. Wiley, Canada, 1992.
5. Herbert Schildt.
Fundamentos de Programacin en Java 2.
Ed. McGrawHil.
6. Agustn Froufe.
Java 2 Manual de usuario y tutorial.
Ed. Alfaomega.
Instituto Tecnolgico de Morelia.
Pgina 204
ITM
7. Stephen R. Davis.
Aprenda Java Ya.
Ed. McGrawHill.
11. http://java.sun.com/
Web oficial de SUN. Puedes encontrar: informacin, software, etc.
Fecha de consulta: 02/ene/09
12. http://www.javaworld.com/
Documentacin muy completa.
Fecha de consulta: 03/ene/09
Pgina 205
ITM
13. http://www.adictosaltrabajo.com/indexg.php?pagina=tutoriales
Tutoriales muy completos
Fecha de consulta: 10/ene/09
14. http://www.developer.com/java/
Informacin muy actualiza respecto al mundo de java.
Fecha de consulta: 27/ene/09
15. http://www.javahispano.org/canyamo.action
Uno de los sitios de java ms completos que hay en espaol.
Fecha de consulta: 10/ene/09
16. http://www.programacion.net/java/
Otro buen sitio de java en espaol.
Fecha de consulta: 15/ene/09
17. http://www.exampledepot.com/
Aqu se puede disponer de muchos ejemplos sencillos.
Fecha de consulta: 08/ene/09
18. http://www.java2s.com/
Otro excelente sitio con informacin confiable y ejemplos sobre java.
Fecha de consulta: 01/feb/09
19. http://www.lawebdelprogramador.com/
Pgina 206
ITM
Informacin confiable, chat para resolver dudas, foros de consulta, libros incluso posee
un rea de ofertas de trabajo.
20. http://www.elrincondelprogramador.com/
Buena fuente de informacin, no solo para temas relacionados con java, sino con ms
lenguajes.
Fecha de consulta: 05/feb/09
21. http://mindprod.com/jgloss/jgloss.html
Glosario muy completo sobre java. Aunque el diseo de la pgina no es el mejor.
Fecha de consulta: 05/ene/09
22. http://java.dzone.com/
Pagina con foros, links e informacin sobre java muy confiables pero sobre temas
avanzados del lenguaje.
Fecha de consulta: 17/ene/09
23. http://www.javasoft.com
Fuente confiable y completa.
Fecha de consulta: 01/feb/09
24. http://www.prenhall.com/deitel
Pagina con la cual se complementa la informacin que viene en la obra de deitel.
Fecha de consulta: 03/ene/09
25. http://es.wikipedia.org/wiki/Java
Pgina 207
ITM
La informacin consultada es buena.
Fecha de consulta: 10/feb/09
26. http://www.java.com
Pgina oficial, descargas, ayuda, Qu es java?
Fecha de consulta: 09/feb/09
27. www.manual-java.com
Manual muy completo, seccin de FAQ, Foros, Cdigo, etc.
Fecha de consulta: 10/feb/09
28. www.webtaller.com/manual-java
Manual paso a paso de Java. Muy recomendable para alguien que comienza a
introducirse en el tema.
Fecha de consulta: 10/feb/09
29. http://todojava.awardspace.com/manuales-java.html
Manuales de java
Fecha de consulta: 10/feb/09
30. www.itapizaco.edu.mx/paginas/Javatut/froufe/introduccion/indice.html
Tutorial muy bueno para principiantes en java.
Fecha de consulta 10/feb/09
Pgina 208
ITM
Glosario de Trminos
A
abstract class (clase abstracta)
Una clase que contiene uno o ms mtodos abstractos, y, por tanto, nunca puede ser
instanciada. Las clases se definen de manera que otras clases pueden extenderse y
hacerlas concretas mediante la aplicacin de los mtodos abstractos.
abstract method (mtodo abstracto)
Un mtodo que no tiene implementacin.
Abstract Window Toolkit (AWT)
Una coleccin de componentes de interfaz grfica de usuario (GUI) que se crearon
utilizando las plataformas-nativas de los componentes. Estos componentes
proporcionan un subconjunto de la funcionalidad que es comn a todas las plataformas.
En gran medida suplantado por el proyecto conjunto de componentes Swing.
access control (control de acceso)
Los mtodos por los cuales las interacciones con los recursos son limitados a las
colecciones de los usuarios o programas con el fin de hacer cumplir la integridad,
confidencialidad, disponibilidad o limitaciones.
ACID
El acrnimo de las cuatro propiedades de las transacciones garantizadas: (atomicity,
consistency, isolation, and durability) atomicidad, la consistencia, aislamiento y
durabilidad.
actual parameter list (lista de parmetros reales)
The arguments specified in a particular method call. Los argumentos que se especifican
en una llamada de mtodo especial.
Pgina 209
ITM
API
(Application Programming Interface.) Interfaz de programacin de aplicaciones. La
especificacin de cmo un programador haciendo una aplicacin accede a la conducta
y el estado de clases y objetos.
applet
Un componente que normalmente se ejecuta en un navegador Web, pero puede
ejecutar en una variedad de otras aplicaciones o dispositivos que apoyan el modelo de
programacin applet.
argument (argumento)
Un elemento de datos especificados en una llamada de mtodo. Un argumento puede
ser un valor literal, una variable, o una expresin.
array (arreglo)
Una coleccin de datos, todos del mismo tipo, en el que cada elemento ocupa una
posicin nica designada por un entero.
ASCII
(American Standard Code for Information Interchange) Cdigo americano estndar
para el intercambio de informacin. Una norma de asignacin de 7-bit cdigos
numricos a caracteres.
atomic (atmica)
Se refiere a una operacin que nunca se interrumpe o se dejan en un estado
incompleto bajo ninguna circunstancia.
B
bean
Un componente de software reutilizable que se ajuste a determinado diseo y
convenciones de nombres.
Binario, sistema
Pgina 210
ITM
Es un sistema de numeracin en el que los nmeros se representan utilizando
solamente las cifras cero y uno (0 y 1).
binary operator (operador binario)
Un operador que tiene dos argumentos.
bit
La unidad ms pequea de informacin en una computadora, con un valor de 0 o 1.
bitwise operator (operador bitwise)
El operador que manipula los bits de uno o ms de sus operandos por separado y en
paralelo. Los ejemplos incluyen a los operadores binario lgicos (&, |, ^), el cambio de
operadores binarios (<<,>>>>>) y el unario un complemento del operador (~).
block (bloque)
En el lenguaje de programacin Java, cualquier cdigo entre llaves. Ejemplo: {x = 1;}.
boolean
Se refiere a una expresin o variable que slo puede tener un valor verdadero o falso.
El lenguaje de programacin Java proporciona el tipo booleano y los valores literales
verdadero y falso.
break
Una palabra clave de Java utilizada para reanudar la ejecucin del programa en la
instruccin inmediatamente despus de la actual declaracin. Si est seguido por una
etiqueta, el programa reanudar la ejecucin en la etiqueta la declaracin.
byte
Una secuencia de ocho bits. Java proporciona un tipo byte correspondiente.
bytecode
Cdigo independiente mquina generado por el compilador Java y ejecutado por el
intrprete de Java.
C
Instituto Tecnolgico de Morelia.
Pgina 211
ITM
case
Una palabra reservada de Java que define un grupo de estados para iniciar la
ejecucin si un valor coincide con el valor definido.
casting (enmascaramiento)
Conversin explcita de un tipo de dato a otro.
catch
Una palabra clave de Java utilizada para declarar un bloque de cdigo para ser
ejecutado en caso de que haya una excepcin de Java, o en un error en tiempo de
ejecucin, se produce en un bloque try anterior.
char
Una palabra clave de Java utilizada para declarar una variable de tipo carcter.
class (clase)
En el lenguaje de programacin Java, un tipo que define la implementacin de un tipo
particular de objeto. Una definicin de clase define la instancia y variables de clase y
mtodos, as como especificar las interfaces que la clase implementa y la inmediata
superclase de la clase.
class method (mtodo de clase)
Un mtodo consta de una serie de instrucciones que determinan el comportamiento del
de la clase. Los mtodos de clase afectan a la clase en su conjunto, no una instancia
de la clase
class variable (variable de clase)
Un elemento de datos asociados a una clase en su conjunto - no con casos particulares
de la clase. Las variables se definen en las definiciones de clase.
Cdigo
Conjunto de lneas de texto que son las instrucciones que debe seguir la computadora
para ejecutar un programa.
comment (comentario)
Pgina 212
ITM
En un programa, un texto explicativo que es ignorado por el compilador. En los
programas escritos en el lenguaje de programacin Java, los comentarios estn
delimitados con / / o / * ... * /.
commit (comprometerse)
El punto en una transaccin cuando todas las actualizaciones a todos los recursos que
participan en la transaccin se hizo permanente.
compiler (compilador)
Programa informtico que traduce un programa escrito en un lenguaje de programacin
a otro lenguaje de programacin, generando un programa equivalente que la mquina
ser capaz de interpretar.
Componentes de Software
Todo aquel recurso desarrollado para un fin concreto y que puede formar solo o junto
con otro/s, un entorno funcional requerido por cualquier proceso predefinido. Son
independientes entre ellos, y tienen su propia estructura e implementacin.
constructor (constructor)
Es un pseudo-mtodo que crea un objeto. En el lenguaje de programacin Java, los
constructores son mtodos de instancia con el mismo nombre que su clase. Los
constructores se invocan utilizando la palabra reservada new.
continue (continuar)
Es una palabra clave de Java utilizados para reanudar la ejecucin del programa al
final del bucle de corriente.
D
declaration (declaracin)
Una lnea de cdigo que establece un identificador y los atributos asociados con l, sin
que necesariamente se reserve memoria (para datos).
default (predeterminado)
Pgina 213
ITM
Palabra reservada de Java utilizado opcionalmente, despus de todos los casos o
condiciones. Si las condiciones no son correspondidas por el valor de la variable, las
sentencias de la opcin por default se llevarn a cabo.
Depurador
Programa que permite depurar o limpiar los errores de otro programa informtico.
do
Palabra clave de Java utilizada para declarar un bucle que va a iterar un bloque de
declaraciones. La condicin de salida del bucle puede especificarse al mismo tiempo.
double
Una palabra clave de Java utilizado para definir una variable de tipo doble.
E
else
Palabra clave de Java utilizada para ejecutar un bloque de estados en el caso de que la
condicin de prueba con la palabra clave if evala a falso.
exception (excepcin)
Un evento durante la ejecucin del programa que evita que el programa contine
normalmente, en general, un error. El lenguaje de programacin Java admite
excepciones con las palabras try, catch, y throw.
exception handler (manejador de excepciones)
Bloque de cdigo que reacciona a un tipo especfico de excepcin. Si la excepcin es
para un error del cual el programa se puede recuperar, el programa se puede reanudar
despus de la ejecucin manejador de excepciones se ha ejecutado.
extends (se extiende o hereda)
La clase X extiende a la clase Y para aadir funcionalidad, ya sea mediante la adicin
de campos o mtodos para la clase Y, por una o mtodos de la clase Y. esta palabra
reservada se utiliza en la herencia de clases.
Pgina 214
ITM
F
final
Palabra clave de Java que se utiliza para declarar valores constantes en una
aplicacin.
float
Palabra reservada de Java utilizada para definir una variable en punto flotante.
for
Palabra clave de Java utilizada para declarar un bucle que reitera las declaraciones. El
programador puede especificar los estados para ser ejecutado, las condiciones de
salida, y variables para la inicializacin del bucle.
G
garbage collection (recoleccin de basura)
Deteccin automtica y liberacin de memoria que ya no est en uso. El sistema
ejecuta esta accin debido a que los programadores no siempre liberan la memoria que
solicitan al sistema.
goto
Se trata de una palabra reservada. Sin embargo, no es utilizado por las versiones
actuales del lenguaje de programacin Java.
GUI
(Graphical User Interface.) Interfaz grfica de usuario. Se refiere a las tcnicas
involucradas en el uso de grficos, junto con un teclado y un ratn, para proporcionar
una manera fcil de utilizar algn programa.
H
Instituto Tecnolgico de Morelia.
Pgina 215
ITM
hexadecimal
El sistema de numeracin que utiliza 16 como su base.
I
Identificador
Nombre de un elemento en un programa escrito en el lenguaje de programacin Java.
if
Palabra clave de Java utilizada para llevar a cabo una prueba condicional y ejecutar un
bloque de estados si la prueba se evala a verdadero.
import
Palabra reservada de Java utilizada en el comienzo de un archivo fuente que puede
especificar las clases o los paquetes que se desean importar o utilizar posteriormente.
inheritance (herencia)
Concepto de clases en el que de forma automtica que contienen las variables y los
mtodos definidos en sus superclases.
instancia
Un objeto de una clase particular. En los programas escritos en el lenguaje de
programacin Java, una instancia de una clase se crea usando el operador new
seguido por el nombre de clase.
int
Palabra reservada de Java utilizada para definir una variable de tipo entera.
intrprete
Mdulo que, alternativamente, decodifica y ejecuta todas las instrucciones en un
programa. El intrprete de Java decodifica y ejecuta bytecode de la mquina virtual.
Iteracin
Se refiere a la accin de repetir una serie de pasos un cierto nmero de veces.
Pgina 216
ITM
J
Java
Lenguaje de programacin orientado a objetos desarrollado por Sun Microsystems a
principios de los aos 90.
Java Database Connectivity (JDBC) Conectividad de bases de datos Java
Un estndar de la industria de base de datos independiente de la conexin entre la
plataforma Java y una amplia gama de bases de datos.
Java Development Kit (JDK)
Un entorno de desarrollo de software que sirve para escribir applets y aplicaciones en
el lenguaje de programacin Java.
Java Foundation Classes (JFC)
Organismo encargado de crear bibliotecas adicionales al lenguaje Java como el Toolkit
AWT.
Java virtual machine (Mquina virtual Java)
Software "motor de ejecucin" que en condiciones de seguridad y compatibilidad
ejecuta el cdigo byte en los archivos de clase Java en un microprocesador (ya sea en
una computadora o en otro dispositivo electrnico).
JavaBeans
Modelo de componente reusable e independiente de plataforma.
L
Librera
Es un conjunto de subprogramas utilizados para desarrollar software. Las libreras
contienen cdigo y datos, que proporcionan servicios a programas independientes, es
Pgina 217
ITM
decir, pasan a formar parte de stos. Esto permite que el cdigo y los datos se
compartan y puedan modificarse de forma modular.
M
Memoria de datos
Memoria de lectura/escritura (RAM), cuyo objetivo es permitir el almacenamiento
temporal de datos o programas de aplicacin. Por sus caractersticas de
lectura/escritura, la informacin que reside en ella se puede alterar fcilmente. Esta se
pierde cuando se apaga la fuente de alimentacin.
N
NetBeans
Plataforma para el desarrollo de aplicaciones de escritorio usando Java y a un entorno
de desarrollo integrado (IDE) desarrollado usando la Plataforma NetBeans.
new
Una palabra clave de Java utilizado para crear una instancia de una clase.
null
El tipo nulo tiene un valor, la referencia nula, representada por el literal null, el cual est
formado de caracteres ASCII. Una literal es nula siempre del tipo null.
O
objeto
Instancia de clase. Elemento principal de un lenguaje orientado a objetos.
octal
Instituto Tecnolgico de Morelia.
Pgina 218
ITM
El sistema de numeracin que utiliza 8 como su base, utilizando los nmeros 0-7 como
sus dgitos
P
Parmetro
Es una variable que es recibida por una funcin, procedimiento o subrutina.
Primitivo, tipo
Tipos de datos originales de un lenguaje de programacin, esto es, aquellos que nos
proporciona el lenguaje y con los que podemos (en ocasiones) construir tipos de datos
abstractos y estructuras de datos.
private
Palabra reservada de Java que indica si una variable puede ser accedida o utilizada
nicamente por elementos de la misma clase.
propiedad
Caractersticas de un objeto que los usuarios pueden fijar, como el color de una
ventana.
protected (protegidas)
Palabra reservada de Java. Significa que el mtodo o variable slo puede ser visitada
por los elementos que residen en sus clases, subclases, clases o en el mismo paquete.
public pblico
Palabra reservada de Java. Significa que el mtodo o variable puede ser visitada por
los elementos que residen en otras clases.
R
return
Pgina 219
ITM
Palabra clave de Java utilizada para terminar la ejecucin de un mtodo. Se utilize
normalmente para regresar un valor en un mtodo.
S
short
Una palabra clave de Java utilizado para definir una variable de tipo short.
SQL
Structured Query Language. Lenguaje estructurado de consultas en bases de datos.
stream corriente
Es un flujo de datos en bytes que se envan desde un emisor a un receptor.
super
Una palabra clave de Java utilizado para acceder a miembros de una clase heredada
de la clase en la que aparece.
Swing
Coleccin de componentes de interfaz grfica de usuario (GUI) que se ejecuta de
manera uniforme a cualquier plataforma nativa que utilice la mquina virtual Java
T
Template
O plantilla es una forma de dispositivo que proporciona una separacin entre la forma o
estructura y el contenido. Es un medio o un instrumento que permite guiar, portar o
construir un diseo o esquema predefinido.
this
Pgina 220
ITM
Una palabra clave de Java que pueden utilizarse para representar una instancia de la
clase en la que aparece. Esto puede ser usado para acceder a las variables de clase y
mtodos.
throw
Una palabra clave de Java que permite al usuario lanzar una excepcin.
Token
O componente lxico, es una cadena de caracteres que tiene un significado coherente
en cierto lenguaje de programacin.
try
Palabra clave que define un bloque de estados que pueden lanzar una excepcin
lenguaje Java.
V
Variable
Elemento de datos nombrado con un identificador.
Pgina 221