Anda di halaman 1dari 17

2

Java Avanzado
Facultad de Ingeniera.
Escuela de computacin.

Java Avanzado. Gua 7 3

Introduccin
Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el
desarrollo de sus prcticas de laboratorios, haciendo uso de este antes, durante y
despus de la prctica, de tal forma que ofrece un mtodo facilitador en su proceso
de enseanza/aprendizaje durante esta asignatura.
En el desarrollo de esta asignatura se ha designado realizar las prcticas en 16
sesiones semanales de laboratorios, los que incluyen 11 prcticas, dos parciales y un
proyecto final durante los cuales, el estudiante aplicar los conceptos y las tcnicas
fundamentalmente necesarias para el desarrollo de aplicaciones y soluciones
utilizando Java como lenguaje de programacin.
Todas las guas de laboratorio estn estructuradas de la siguiente forma:
- Objetivos
- Materiales y equipos
- Introduccin terica
- Procedimiento
- Bibliografa
- Hoja de evaluacin( En caso de que la actividad sea evaluada )
La asignatura Java avanzado ,est dividida en ocho unidades durante el ciclo.

Java Avanzado, Gua 7


Facultad: Ingeniera.
Escuela: Computacin.
Asignatura: Java Avanzado

Pg

Gua 7. Fundamentos de SWING.

Tabla de Contenido
Contenido ---------------------------------------------------------------------------------------- 5
Objetivos ----------------------------------------------------------------------------------------- 5
Materiales y equipos --------------------------------------------------------------------------- 5
Introduccin terica --------------------------------------------------------------------------- 5
Procedimiento ----------------------------------------------------------------------------------- 9
Investigacin ------------------------------------------------------------------------------------ 13
Bibliografa --------------------------------------------------------------------------------------- 13

Java Avanzado. Gua 7 5

Tema: Fundamentos de SWING.


Contenidos
En esta practica se introducir al estudiantes a SWING, haciendo nfasis en las
Clases Jframe, JPanel y Creacin de Formas 2D, As mismo se podrn aplicaciones en
java con capacidad de manipular fuentes de texto e imgenes.

Objetivo Especfico
a) Practicar el desarrollo de formularios bsicos en Java GUI bsicas haciendo nfasis
el aprendizaje clases Jframe, JPanel y Creacin de Formas 2D,fuentes de texto e
imgenes.

Materiales y Equipo
a) Netbeans
b) JDKJava

Introduccin Terica
Swing
Swing es un extenso conjunto de componentes que van desde los ms simples, como
etiquetas, hasta los ms complejos, como tablas, arboles, y documentos de texto con
estilo. Casi todos los componentes Swing descienden de un mismo padre llamado
JComponent que desciende de la clase de AWT Container.
Es por ello que Swing es ms una capa encima de AWT que una sustitucin del
mismo. La figura 1 muestra una parte de la jerarqua de JComponent. Si se compara
con la jerarqua de Component notar que para cada componente AWT hay otro
equivalente en Swing que empieza con "J". La nica excepcin es la clase de AWT
Canvas, que se puede reemplazar con JComponent, JLabel, o JPanel . Asimismo se
puede notar que existen algunas clases Swing sin su correspondiente homologo.
La figura 1 representa solo una pequea fraccin de la librera Swing, pero esta
fraccin son las clases con las que se enfrenta ms a menudo. El resto de Swing
existe para suministrar un amplio soporte y la posibilidad de personalizacin a los
componentes que estas clases definen
A los componentes Swing se les denomina ligeros mientras que a los componentes
AWT se les denominados pesados. La diferencia entre componentes ligeros y
pesados es su orden: la nocin de profundidad. Cada componente pesado ocupa su
propia capa de orden Z.

Java Avanzado, Gua 7

Todos los componentes ligeros se encuentran dentro de componentes pesados y


mantienen su propio esquema de capas definido por Swing.
Cuando se coloca un componente pesado dentro de un contenedor que tambin lo
es, se superpondr por definicin a todos los componentes ligeros del contenedor. Lo
que esto significa es que se debe evitar el uso de componentes ligeros y pesados en
un mismo contenedor siempre que sea posible.
Esto no significa que no se pueda mezclar nunca con xito componentes AWT y
Swing, slo que se tiene que tener cuidado y saber qu situaciones son seguras y
cules no.
Puesto que probablemente no se es capaz de prescindir completamente del uso de
componentes pesados en un breve espacio de tiempo, se debe encontrar formas de
que las dos tecnologas trabajen juntas de manera aceptable.
La regla ms importante a seguir es que no se debe colocar componentes pesados
dentro de contenedores ligeros, que comnmente soportan hijos que se superponen.
Algunos ejemplos de este tipo de contenedores son JInternalFrame, JScrollPane,
JLayeredPane, y JDesktopPane. En segundo lugar, si se usa un men emergente en un
contenedor que posee un componente pesado, se tiene que forzar a dicho men a
ser pesado. Para controlar esto en una instancia especfica de JPopupMenu se puede
usar su mtodo setLightWeightPopupEnabled()..
Alternativamente
se
puede
llamar
al
mtodo
esttico
setDefaultLightWeightPopupEnabled() de JPopupMenu y pasarle un valor false para
forzar a todos los mens emergentes de una sesin de Java a ser pesados. Se debe
tener en cuenta que slo afectar a los mens emergentes creados a partir de que se
ha hecho la llamada. Es por eso una buena idea llamar a este mtodo durante la
inicializacin.
La caracterstica ms notable de los componentes Swing es que estn escritos al
100% en Java y no dependen de componentes nativos, como sucede con casi todos
los componentes AWT. Esto significa que un botn Swing y un rea de texto se vern
y funcionarn idnticamente en las plataformas Macintosh, Solaris, Linux y
Windows. Este diseo elimina la necesidad de comprobar y depurar las aplicaciones
en cada plataforma destino.
.

Java Avanzado. Gua 7 7

Figura 1

Java Avanzado, Gua 7

Procedimiento
1. Frame

Bibliografa

La clase Jframe es una versin que hereda de la clase java.awt.Frame, la cual le


aade el soporte necesario para la arquitectura de los componentes de Swing. En el
siguiente
Gua 1 cdigo se muestra como realizar un frame bsico.
FrameSencillo.java

Ejecucin y compilacin

2. Control de Colores en un JPanel


Los JPanel en Java son objetos contenedores, la finalidad de estos objetos es la
agrupacin de otros objetos tales como botones, campos de texto, etiquetas,
selectores, etc; una gran ventaja de Usar JPanel en Java es que se puede manejar la
agrupacin de una mejor forma.
En el siguiente programa se ejemplifica como se maneja un Jpanel para manejar los
colores a mostrar en pantalla.

Java Avanzado. Gua 7 9

ColorJPanel.java

Digitar el cdigo ShowColors.java a partir del cual se cargar el JPanel.


ShowColors.java

Compilar el programa ColorJPanel.java y ShowColors.java, y luego ejecutar el


programa Showcolors.java.

10 Java Avanzado, Gua 7

Ejecucin y compilacin

3. Uso de JCheckBox
El control JCheckBox permite implementar un cuadro de seleccin (bsicamente un
botn de dos estados), en el siguiente cdigo se ejemplifica las acciones que se
pueden realizar con este objeto:
CasillaVerificacion.java

Java Avanzado. Gua 7 11

Compilar el programa CasillaVerificacion.java y ejecutarlo


Ejecucin y compilacin

4. Uso de JComboBox
El control JComboBox permite seleccionar un String de una lista. Para inicializar los
String que contendr el JComboBox se debe invocar al mtodo addItem tantas veces
como elementos se deseen cargar.
Un evento muy til con este control es cuando el operador selecciona un Item de la
lista. En el siguiente ejemplo se visualiza las acciones a realizar para utilizar este
elemento de la librera swing:

12 Java Avanzado, Gua 7

PruebaJComboBox.java

Compilar el programa PruebaJComboBox.java y ejecutarlo


Ejecucin y compilacin

Java Avanzado. Gua 7 13

5. Uso de Botones y acciones


Se puede decir que el control JLabel remplaza a la salida estndar System.out.print, y
el control JTextField cumple la funcin de la clase Scanner para la entrada de datos.
El control JTextField permite al operador del programa ingresar una cadena de
caracteres por teclado.
JButton es un control visual de uso muy comn. Este control visual muestra un botn.
El proceso para aadir botones a un control JFrame es similar a aadir controles de
tipo JLabel.
En el siguiente ejemplo se ver la captura de eventos con los controles visuales. Uno
de los eventos ms comunes es cuando se realiza clic sobre un botn:
Conversor.java

14 Java Avanzado, Gua 7

Java Avanzado. Gua 7 15

Compilar el programa Conversor.java y ejecutarlo


Ejecucin y compilacin

16 Java Avanzado, Gua 7

6. Uso de etiquetas
En el siguiente programa se muestra el uso de etiquetas:
Reloj.java

Java Avanzado. Gua 7 17

Compilar el programa Reloj.java y ejecutarlo


Ejecucin y compilacin

18 Java Avanzado, Gua 7

Investigacin Complementaria
1. Implementar un formulario en el que se pida la siguiente informacin:
a. Nombres
b. Apellidos
Gua 4 c. Edad
d. Genero (Masculino/Femenino)
e. Departamento.
fa
En este formulario se debe tener 2 botones: 1 que validara que la informacin este
completa y por medio de la clase JOptionPane.showMessageDialog, mostrar los
mensajes de validacin. En caso la informacin este completa mostrar en un cuadro
de dialogo el siguiente mensaje: Bienvenido [NOMBBRES] [APELLIDOS] usted tiene
tiene [EDAD] aos y vive en [DEPARTAMENTO]. El 2do botn limpiara la
informacin que puedan tener los campos.

Gua 3

Bibliografa
Aprendiendo Java 2 en 21 Das
Gua
3 Laura
Lemay,
Cmo Programar en Java
Deitel, Harvey M.

Gua 4
fa

Anda mungkin juga menyukai