Professional Documents
Culture Documents
Programa de la asignatura:
Programacin orientada a objetos II
Clave:
Ingeniera: TSU:
15142421 / 16142421
Propsito
Al trmino de esta unidad logrars:
2.1. Contenedores
Las aplicaciones ms utilizadas cuentan con interfaz GUI (siglas en ingls) que en
espaol significa interfaz grfica de usuario; esta interfaz es la carta de presentacin de la
aplicacin, que ofrece al usuario una interaccin; esa apariencia debe programarse
mediante componentes grficos. Para tener una idea ms clara al respecto, tan slo
observa el navegador en el que te encuentras revisando este material, en el podrs
distinguir que en la parte superior cuenta con un men, que tambin tiene algunos
botones, seguramente tambin cuenta con un espacio para escribir texto, estos elementos
que se acaban de mencionar son justamente componentes grficos.
Todos los componentes grficos son objetos y para declararlos como tales se debe
sealar la clase a la que pertenece el componente en cuestin e ir utilizando los mtodos
que tienen predefinidos para configurar sus caractersticas. Todos esos elementos se
encuentran en el paquete javax.swing (algunos pertenecen a java.awt) y son subclase de
JComponent, por esta razn se deber importar dicha clase. Una clase es una
abstraccin que define un tipo de objeto especificando qu propiedades y operaciones
disponibles va a tener.
Finalmente, slo falta mencionar que los contenedores son supracomponentes grficos
que, precisamente como su nombre lo indica, ayudan a contener agrupar y organizar
otros componentes grficos dentro de ellos, esto se hace para tener un mejor control
sobre la ubicacin de dichos componentes en la interfaz grfica que se est
construyendo.
En los siguientes subtemas, Paneles y Marco, se revisar cmo crear contenedores,
as como sus caractersticas y propiedades configurables.
2.1.2. Marco
En el tema anterior se vieron los paneles, que deben ubicarse dentro de marcos, los
cuales son comnmente llamados frames, tal como el nombre de la clase los define
(JFrame). Los marcos son los contenedores principales para crear aplicaciones grficas,
ya que cualquier otro componente grfico que se cree, debe estar dentro de un marco.
Una vez definido el marco para agregar elementos dentro de ste, se utiliza el mtodo
add, y un administrador de diseo llamado layout, esto permite acomodar en algn orden
todos los componentes que se agreguen al marco.
Como ya se mencion anteriormente para construir interfaces grficas se utilizan clases
ya predefinidas; las bibliotecas de clases Java para el desarrollo de interfaces grficas de
usuario son Swing y AWT, stas proporcionan los siguientes administradores de diseo
para el acomodo de componentes (Oracle, 2012):
BoxLayout: esta distribucin acomoda todos los componentes uno tras de otro en
una sola fila o columna, segn el espacio disponible, en la siguiente imagen se
puede observar un ejemplo.
10
11
2.2. Controles
En los siguientes apartados se hablar sobre el tema controles, con ello se pueden crear
apariencias grficas ms sofisticadas para los programas que se realicen.
Como resumen del apartado anterior, se vieron contenedores, que son donde se colocan
los componentes. En este segundo subtema se vern esos componentes grficos, ya que
son aquellos elementos que ayudan a conformar la apariencia de una aplicacin.
2.2.1. Etiqueta
El primer componente de los controles que se abordar es uno de los ms utilizados para
colocar textos en la apariencia grfica de una aplicacin, sin que se requiera modificarlos.
Por lo general este componente es utilizado para el nombrado de campos.
12
13
2.2.2. Botones
El tema que se tratar en este apartado es el de botones. En este se abordar cmo se
construyen y se manipulan sus propiedades, para que puedas ir construyendo interfaces
grficas con la funcionalidad (manejo de eventos) que los botones proporcionan.
14
15
16
17
18
19
20
21
22
Es importante resaltar que el campo de texto tiene dentro una cadena, porque as est
estipulado en su definicin. Revisa los siguientes tres ejemplos:
-En el ejemplo 1, sombreado azul, se debe pensar que se requiere obtener un texto del
usuario, entonces se declara una cadena, donde se colocar lo que se obtuvo del campo
de texto (getText()).
-En el ejemplo 2, sombreado morado, se debe pensar que lo que debe ingresar el usuario
es un nmero entero, entonces se declara un entero, se obtiene el texto y se convierte en
entero (Integer.parseInt).
-En el ejemplo 3, sombreado verde, se debe pensar que se requiere que lo que ingrese el
usuario sea un texto de 10 letras; se obtiene lo que el usuario ingreso (getText().), a eso
se le obtiene el tamao (length()) y se valida que ese tamao sea igual a 10.
Ejemplo de cdigo 10. Declaracin y uso de campo de texto
String texto=campoTexto1.getText();
intentrada= Integer.parseInt(campoTexto2.getText());
if (campoTexto3.getText().length() == 10){
// cdigo si la condicion cumple
}
As como esos tres ejemplos pueden darse muchos otros, todo depende de lo que se
requiera del programa, por lo que se debe poner mucha atencin en lo que se necesita
para poder programarlo adecuadamente. Los campos de texto como has visto reciben
informacin del usuario, de la cual, tpicamente reciben informacin breve, para las
ocasiones en que requieres mostrar o recibir una cantidad mayor de informacin debes
utilizar otro componente llamado rea de texto, el cual ser revisado en la siguiente
seccin.
23
24
25
26
27
28
29
30
31
frame.add(arbol, BorderLayout.CENTER);
}
}
Antes de seguir con el siguiente subtema se ver un ejemplo de un programa conversor
de unidades, de manera que, adems de crear y manipular componentes grficos de
manera aislada, se aprenda cmo utilizarlos de forma conjunta para crear las GUI. El
ejemplo se muestra a continuacin:
32
33
34
35
36
37
if(cbxF.isSelected())
txtFr.setText(String.valueOf(fr));
}
publicvoidaparienciaLongitud(){
//se configuran los componentes de longitud
pnlLongitud.setBackground(new java.awt.Color(255, 255, 255));
pnlLongitud.setBorder(javax.swing.BorderFactory.createTitledBorder("Equivalencia de
longitud"));
lbl4.setText("Pulgadas");
lbl5.setText("Centimetros");
btnCent.setText("Convertir");
lbl6.setText("Yardas");
lbl7.setText("Metros");
btnMet.setText("Convertir");
lbl8.setText("Millas");
lbl9.setText("Kilometros");
btnKm.setText("Convertir");
38
39
40
En los siguientes subtemas se ver que los mens deben estar en una barra, cmo
crearla, as como la elaboracin de los elementos y subelementos que el men mostrar.
Tambin se analizarn los mens emergentes.
El sombreado en:
Azul es la definicin del paquete, clases a utilizar, autor, as como la declaracin
de la clase y el mtodo.
Verde tiene la creacin del marco sobre el que se colocar el men.
Morado tiene un panel azul, creado slo para ubicar mejor la barra del men, se
crea la barra del men en la pantalla mediante su constructor new
javax.swing.JMenuBar().
Rojo tiene la adicin de la barra de men al marco.
41
42
43
44
Barra de men
Sub-men
Sub-men
Sub-sub-men
Mens
45
46
frame.add(popup, BorderLayout.PAGE_START);
}
}
En este tema se ha analizado a los mens y su creacin, esta ltima comienza con la
implementacin de los elementos que los compondrn, as como la barra en la que se
posicionar el men completo. Tambin se analizaron los mens emergentes, la nica
diferencia entre ellos es que el men normal siempre est visible para el usuario en la
interfaz grfica, mientras que el men emergente aparecer slo cuando el usuario se
posicione sobre el rea donde se mostrar, de esta manera el men estar disponible
cuando el usuario as lo quiera.
2.3.4. Separador
El separador de men es el mismo concepto del separador de ventana visto en el
subtema 2.2.7. Separador, ste slo es la creacin de una lnea divisoria para separar
elementos de un men, su declaracin es la misma y se aade entre los componentes
que se quiera separar.
Revisa el siguiente ejemplo de cdigo 20 y la imagen siguiente, en donde se est
agregando un submen, despus se coloca un separador y despus otro submen, lo que
mostrar una divisin entre los submens.
Ejemplo de cdigo 20. Declaracin y uso de separador
menu.add(subelemento1);
menu.add(new JSeparator(SwingConstants.HORIZONTAL));
menu.add(subelemento2);
Por ltimo, cabe resaltar que para un manejo adecuado de los mens se debern agregar
eventos a stos para que generen las acciones requeridas por los mens.
47
Ejemplos de ventanas
48
Dilogo de entrada: este tipo de cuadro de dilogo solicita el ingreso de algn dato
en particular, el cdigo que lo crea est en morado dentro del ejemplo de cdigo
21, ntese que est igualado a una cadena, porque automticamente este dilogo
retorna en una cadena lo que el usuario haya capturado en el cuadro de dilogo, si
se requiere otro tipo de dato tendr que realizarse el casting (conversin de tipo de
datos) necesario. Este cuadro de dilogo se ejemplifica en la siguiente imagen:
49
Mensaje de cuidado.
Mensaje de error.
Mensaje plano.
50
51
Lo primero es crear un objeto del tipo selector de archivo e indicar que se muestre,
como se hace en la seccin morada.
Una vez que se muestra para conocer el archivo que se ha elegido se utiliza un
mtodo creado para ello, y se muestra el resultado en consola, como se hace en la
seccin roja.
52
Cierre de la Unidad
Has concluido la segunda unidad del curso, a lo largo de sta se ha visto el tema de
componentes grficos, que son los elementos mediante los que se crean las interfaces
grficas de usuario.
Como parte de este tema se vieron los contenedores, que son aquellos elementos que
conjuntan a los componentes grficos para acomodarlos y crear las interfaces, tambin se
vieron los paneles que ayudan a organizar los componentes y los marcos que son los
contenedores por excelencia donde deben acomodarse todos los elementos de los que se
compondr la interfaz.
Tambin se analizaron los controles, que son los componentes grficos que conforman la
interfaz, entre ellos estn las etiquetas con que se nombran los campos, los botones que
disparan acciones, las casillas de activacin que detectan valores bolanos, las listas
53
Para saber ms
Es importante que instales un IDE en tu computadora personal para que pases todos los
ejemplos de cdigo y veas cmo funcionan, de esta manera podrs analizar el
funcionamiento de los cdigos presentados.
Se recomienda que instales NetBeans 7.0, como IDE, por su facilidad de uso,
puede ser descargado gratuitamente. Recuperado de
http://netbeans.org/downloads/
54
Fuentes de consulta
55