Title: Java'awt
1Java.awt
- AWT es Abstract Windows Toolkit y es la parte de
Java que se ocupa de construir interfaces
gráficas. Para construir una interfaz, se
necesitan al menos tres elementos, un contenedor,
unos componentes y un modelo de eventos.El
contenedor es la ventana o parte de la ventana
donde se sitúan los componentes. - Los componentes son menús, botones, barras de
desplazamiento, cajas y áreas de texto, etc,
etc.El modelo de eventos es la herramienta que
nos permite controlar las acciones del usuario
sobre los componentes. Cada vez que el usuario
realiza una acción se produce un evento y AWT
crea un objeto de la clase de evento
correspondiente derivada de AWTEvent. El evento
será posteriormente gestionado por un objeto que
debe conocer el componente que ha recibido el
evento. Así se diferencian dos tipos básicos de
objetos, los que reciben los eventos, o event
source y los que manejan los eventos event
listener. - Los objetos event source deben "registrar" los
objetos que habrán de gestionar sus eventos. Los
objetos event listeners deben implementar los
métodos adecuados para manejar un evento
determinado y la forma más sencilla de controlar
esto es implementar el interfaz Listener de la
forma adecuada. eventSourceObject.addEventListene
r(eventListenerObject)
2Los Paquetes de Herramientas para Ventanas
AbstractasTres paquetes componen las
herramientas para Ventanas Abstractas java.awt,
java.awt.image, y java.awt.peer.
- El paquete AWT
- El paquete java.awt proporciona elementos GUI
utilizados para obtener información y mostrarla
en la pantalla como ventanas, botones, barras de
desplazamiento, etc.. - El paquete AWT Image
- El paquete java.awt.image contiene clases e
interfaces para manejar imágenes de datos, como
la selección de un modelo de color, el cortado y
pegado, el filtrado de colores, la selección del
valor de un pixel y la grabación de partes de la
pantalla. - El paquete AWT Peer
- El paquete java.awt.peer contiene clases e
interfaces que conectan los componentes AWT
independientes de la plataforma a su
implementación dependiente de la plataforma (como
son los controles de Microsoft Windows ).
3Java.Awt
- El Kit de Herramientas de Ventanas Abstracto,
forma un conjunto de clases capaces de crear una
interfaz gráfica de usuario y recibir sus
entradas por medio del mouse o teclado. - Interfaz de usuario
- Componentes, todo lo que sea colocado en una
interfaz de usuario, botónes con comportamiento,
listas desplazables, menús contextuales, casillas
de verificación y campos de texto. - Contenedores, es posible que un componente
contenga otros componentes, por ejemplo la
ventana del applet, panales, cuadros de diálogo y
ventanas solitarias. - Administradores de Componentes, objeto que define
cómo se organizarán los componentes en un
contenedor. - Componente de una interfaz de usuario, los
componentes están colocados dentro de una
interfaz de usuario al agregarlos en un
contenedor, un contenedor es por sí mismo un
componente. - Agregar componentes a un contenedor
- Para agregar un componene primero debe ser creado
después invocar el método add() del contenedor
usando el componente. - Todos los applets son contenedores por lo que es
posible utilizar de manera directa el método
add(). - Cada componente de interfaz de usuario del awt es
una clase, se crea un componente al crear un
objeto de esa clase.
4Clase Label
- es un componente que pone o agrega texto en un
contenedor. Una etiqueta se despliega como una
simple línea de texto de sólo lectura, el texto
puede ser modificado por la applicación, pero el
usuario no puede editarlo directamente. - Un objeto Label es el componente de interfaz de
usuario más simple. Es mejor crear objetos Label
que etiquetas de texto a través del método
drawString() - Los objetos Label son dibujados automáticamente
después de la creación sin ser controlados
directamente por el método paint(). - Los objetos Label se posicionarán en base al
administrador de componentes, en vez de dar su
posición por medio de coordenadas (X,Y). - Un objeto Label se crea a través de alguno de sus
3 constructores, los cuales crean una etiqueta
vacía, una etiqueta con texto y una etiqueta con
texto y alineación, por default la alíneación es
justificada. - Es posible utilizar los métodos
- setText(String) para modificar el texto de una
etiqueta. - getText( ) para obtener el texto de una etiqueta.
- El siguiente ejemplo utiliza la clase GridLayout
para poder representar de manera correcta lo que
el código representa, ya que Java utiliza
comportamientos por default para los applets, uno
de estos comportamientos es la distribución, la
cual tiene un valor predeterminado FlowLayout el
cual coloca los objetos de manera continua con lo
que el ejemplo sin un comportamiento GridLayout
tendria otra salida diferente a la deseada..
5Clase Button - Botones
- La clase Button crea un botón con etiqueta. La
aplicación puede causar alguna acción cuando el
botón es utilizado. Esta clase representa botones
con comportamiento en una interfaz. - Cuando el botón es utilizado (dando clic al
botón) es asociado con una instancia ActionEvent
al dar clic y cuando se dejo de dar clic. Si una
aplicación está interesada en conocer cuando el
botón es pulsado pero no liberado se utiliza
processMouseEvent o se puede registrar a sí mismo
como un "escucha" para eventos del mouse
invocando addMouseListener, estos métodos son
definidos por un componente, la clase abstracta
superclass de todos los componentes. - Cuando el botón es presionando y liberado, AWT
envía una instancia de ActionEvent al botón
invocado por processEvent. El método processEvent
recibe todos los eventos para un botón, pasando
un evento de acción utilizando una invoación a su
propio método processActionEvent. Los métodos
pasan eventos de acciones a varios escuchas de
acciones que tienen registrado un interes en
eventos de acciones generados por el botón. - Si una aplicación requiere trabajar alguna acción
basada en un botón que es presionado y liberado,
necesitará implementar un ActionListener y
registrar el nuevo escucha que recibe el evento
desde el botón, invocando el método
addActionListener. La aplicación puede hacer uso
de cualquier comando de acción como un protocolo
de mensajes.
6Para utilizar esta clase es necesario importar el
paquete java.awt.Button
- Para crear un botón puede utilizar alguno de sus
2 constructores, de los cuales uno crea un botón
sin etiqueta y el otro lo crea con una etiqueta
que es especificada en el argumento al invocar el
constructor. Constructs a Button with no label.
Button(String label) - //Crea un botón sin etiqueta Button oBotonSin
new Button() //Crea un botón con una etiqueta
que dice "Aceptar" Button oBotonCon new
Button("Aceptar") - Al utilizar el método add(nombreObjeto) no hace
que aparezca de inmediato en el applet, sin
embargo puede hacerse visible invocando el método
paint de su contenedor, es posible forzar un
llamado a paint utilizando el método repaint(). - Al utilizar el método add(nombreObjeto) tampoco
se especifican las coordenadas (X,Y) para
posicionarlo en el escenario, sin embargo la
organización de componentes está controlada por
el administrador de Componentes según las
necesidades del contenedor.
7Clase Choice - Menú de Opciones
- La clase Choice presenta un menú pop-up de
opciones. La opción actual seleccionada se
muestra como el título del menú. - Cómo crear un menú pop-up
- Crear un componente Choice el cual será el
contenedor de las opciones. - Agregar las opciones que contendrá el objeto
Choice, para ello se utiliza el método
add(String) ya que el método addItem(String) es
obsoleto (Java 2 v1.1). - Agregue el componente Choice con el método add( )
8Frame
- La clase Frame extiende de la clase Window e
implementa la interfaz MenuContainer, es una
ventana de alto nivel con título y borde. - Los marcos son ventanas independientes de un
applet y del navegador que contiene al applet,
son contenedores al igual que los paneles por lo
que es posible agregar otros componentes usando
el método add(). - El tamaño de un marco incluye cualquier área
designada por el borde. Las dimensiones del área
del borde quizá se obtengan usando el método
getInsets, las dimensiones son dependientes de la
plataforma, un valor de recuadro válido se
obtiene hasta que el marco se despliega. El área
de borde es incluida totalmente en los lados del
marco, el borde efectivamente oscurece una
porción del marco, forzando el área disponible
para renderearse y/o desplegar subcomponentes
para el ractángulo el cual está en la esquina
superior izquierda (insets.left, insets.top) y
tiene un ancho (insets.left insets.right) y
alto (insets.top insets.bottom). - La distribución por default es BorderLayout.
- Un marco puede tener decoraciones nativas por
ejemplo un marco con un menú de barra, el cual
podria quitarse con el método setUndecorated.
Esto puede realizarse mientras el marco no se
despliegue.
9Constructores
- Frame() , construye una nueva instancia de Frame
que es inicialmente invisible. - Frame(GraphicsConfiguration gc) , crea un Frame
con el GraphicsConfiguration especifico de un
dispositivo de pantalla. - Frame(String title) , construye un nuevo objeto
Frame inicialmente invisible con un título
especifico. - Frame(String title, GraphicsConfiguration gc) ,
construye un nuevo objeto Frame inicialmente
invisible con un título y GraphicsConfiguration
especificos.
10Clase Menu
- import java.awt.Menu
- La clase Menu extiende de la clase MenuItem e
implementa las interfaces MenuContainer y
Accessible. - Un objeto Menu es un menú desplegado hacia abajo
(pull-down) que es desplegado desde un menú de
barra. - Un menú opcionalmente puede ser un menú tear-off,
el cual se puede abrir y arrastrar lejos del menú
o menú de barra padre, permaneciendo en la
pantalla después de que se haya liberado el botón
del mouse. El mecanismo para un menú tear-off
depende de la plataforma, puesto que la mirada y
la sensación del menú tear-off es determinada por
su igual. En las plataformas que no soportan
menús tear-off, la característica del tear-off es
ignorada. -
- Cada opción en un menú debe pertenecer a la clase
MenuItem y puede ser una instancia de MenuItem de
un submenú instancia de Menu o un check box
instancia de CheckboxMenuItem.
11Clase Canvas
- La clase Canvas es un componente gráfico que
representa un área rectangular de la pantalla
dentro de la cual la aplicación puede dibujar o
de la cual una aplicación puede capturar eventos
del usuario. - Una aplicación debe implementar una subclase
Canvas para obtener una funcionalidad completa
como crear un componente personalizado. El método
paint() debe ser sobrepuesto o re-escrito para
personalizar un objeto gráfico Canvas.
12Clase Component
- La clase Component extiende de la clase Object e
implementa las interfaces ImageObserver,
MenuContainer, Serializable. - Un componente es un objeto que tiene una
representación gráfica que puede ser desplegada
en la pantalla y que puede interacturar con el
usuario, como botones, check box y scroll bar
tipicos de una interfaz de usuario gráfica y es
posible manejar los eventos que tienen lugar en
estos componentes, los eventos pueden ser
generados por interacción con los componentes de
interfaz - ActionEvent (Eventos de acción)
- ListSelectionEvent (Eventos de selección de
listas) - FocusEvent (Eventos de foco)
- La clase Component es la superclase abstracta de
componentes nonmenu-related Abstract Window
Toolkit, la clase Component puede también
extender directamente para crear un componente de
peso ligero (lightweight), un componente de peso
ligero es un componente que no está asociado con
una ventana nativa opaca/oscura.
13Clase Dialog
- Un objeto Dialog es una ventana de alto nivel con
un título y un borde que es tipicamente utilizado
para tomar alguna forma de entrada del usuario.
El tamaño de la ventana de dialogo incluye un
área designada para el borde. Las dimensiones del
área del borde pueden ser obtenidas con el método
getInsets y dependeran de la plataforma, un valor
válido del recuadro no puede ser obtenido hasta
que la ventana de dialogo este visible mediante
los métodos pack o show. El área del borde está
incluida en todo el tamaño de la ventana de
dialogo, el borde efectivamente oscurece una
porción de la ventana de dialogo, forzando el
área disponible es posible manipualar el tamaño y
presentar subcomponentes para el recuadro el cual
tiene ubicación en la esquina superior izquierda
de insets.left, insets.top y tiene un ancho
deinsets.left insets.right y alto de insets.top
insets.bottom. - Por default tiene una distribución BorderLayout
- Una ventana de dialogo es posible que tenga
decoraciones nativas, por ejemplo un título y un
marco. Esto solo puede ser hecho mientras la
ventana de dialogo no este desplegada.
14- Una ventana de dialogo debe tener un Frame o
Dialog definido como su propietario cuando es
construida. Cuando la ventana propietaria de una
ventana de dialogo visible es minimizada, la
ventana de dialogo podria automáticamente ser
ocultada al usuario. Cuando la ventana ropietaria
es restaurada posteriormente, la ventana de
dialogo se hace visible al usuario nuevamente. - En un ambiente multi-pantallas es posible crear
un Dialog en los diferentes dispositivos de
pantalla de los cuales son propietarios. Para más
información consulte la clase Frame. - Una ventana de dialogo puede ser por default
modeless o modal - modal, es aquella que bloquea la salida hacia
todos los niveles altos de ventanas en la
aplicación, excepto por una ventana creada desde
la ventana de dialogo propietaria, en otras
palabras impide pasarse a otra ventana (la
entrada a cualquier otra ventana en la pantalla),
hasta que es cerrada. - modeless, son aquellas que no se pueden
redimensionar.
15Clase Graphics
- La clase Graphics está contenida en el paquete
java.awt por lo que será necesario importar la
clase para su uso - import java.awt.Graphics
- Graphics incluye métodos para dibujar líneas,
figuras, caracteres e imágenes en la pantalla del
applet. - Graphics proporciona primitivas de gráficos para
dibujar - Líneas
- Rectángulos
- Óvalos
- Arcos
- Sistema de Coordenadas (X, Y)
- El Sistema de Coordenadas (X,Y) de Java tiene
origen en los puntos (0,0) en la esquina superior
izquierda, donde los valores positivos X se
encuentran a la derecha, los valores positivos Y
se encuentran hacia abajo, los valores se dan en
pixeles y deben ser enteros porque no existen
pixeles parciales o fraccionarios
16Método drawString() - Texto
- El método drawString() dibuja un texto en el
applet, recibe 3 argumentos - El texto a dibujar, el cual es de tipo String.
- La coordenada X, que representa la distancia
hacia la derecha expresada en pixeles a partir de
la cual se dibujará el texto. - La coordenada Y, que representa la distancia
hacia abajo expresada en pixeles a partir de la
cual se dibujará el texto. - Método drawLine() - Líneas
- El método drawLine() recibe 4 argumentos para
dibujar líneas rectas, el primer par define el
inicio y el segundo par define el final de la
línea.
17Método drawRect() - Rectángulos
- El método drawRect() al igual que drawLine()
recibe 4 argumentos, el primer par define el
inicio y el segundo par define el final del
rectángulo. - drawRect() proporciona 3 clases de rectángulos,
cada una de estas posibilidades tiene 2 métodos - El que dibuja el contorno drawRect()
- El que dibuja el relleno fillRect()
18Método drawPolygon() - Polígonos
- Antes de continuar vale la pena aclarar que un
polígono es aquel que tiene un número ilimitado
de lados, por lo que dibujar un polígono requiere
de una serie de coordenadas (X,Y). - El método drawPolygon() recibe 3 argumentos, el
primer argumento es un arreglo de coordenadas X,
el segundo argumento es un arreglo de coordenadas
Y, y el último argumento es el número de
coordendas (X o Y) ya que deben coincidir en
número. - Cuando se comienza a dibujar el polígono parte de
la coordenada inicial(X.y) dibujando una línea
recta a la segunda coordenada (X,Y) que dibuja
una línea recta a la tercer coordenada (X,Y), así
sucesivamente hasta terminar con la última
coordenada (X,Y) y cerrar de manera automática el
polígono hacia la coordenada inicial.
19Método drawOval() - Óvalos
- Pintar un óvalo es casi igual que pintar un
rectángulo pero sin esquinas, tambíen drawOval()
recibe 4 argumentos, el primer par define el
inicio y el segundo par define el final del
óvalo.
20Método drawArc() - Arcos
- El método drawArc() recibe 6 argumentos donde
- El primer par de argumentos define las
coordenadas (X,Y) del óvalo - El segundo par de argumentos define el ancho y
alto del óvalo. - El quinto argumento define el inicio del arco.
- El último argumento define el número de grados
del arco. - Tanto el águlo de inicio como el número de grados
del arco tendrán los valores de 0 a 359 grados en
sentido opuesto a las manecillas del reloj.
21Método copyArea() - Copiar y Pegar
- El método copyArea() permite definir mediante el
primer par de argumentos donde debe iniciar a
copiar y el segundo par define en donde termina
de copiar lo que resulta en un área de copiado,
el tercer par de argumentos define donde deberá
poner la copia. Con esto tenemos la acción de
copy - paste para un applet.
22Método getSize() - Ancho y Alto del applet
- El método getSize() es el método actualmente
disponible para obtener el ancho y alto que son
las propiedades definidas en la etiqueta applet
de HTML, ya que anteriormente se utilizaba el
método size() que hoy en día es obsoleto, si
utiliza este método en la versión Java 2 obtendrá
el siguiente mensaje
23Método clearRect() - Limpiar applet
- El método clearRect() toma 4 argumentos en
definición iguales a los argumentos del método
drawRect() para especificar un área, el objetivo
de clearRect() es limpiar un área con el color
del fondo actual del applet
24Clase MenuBar
- La clase MenuBar extiende de MenuComponent e
implementa MenuContainer y Accessible. - No es posible crear menús de barra en un applet,
pero si el applet implementa una ventana
independiente como Window o Frame, es posible
agregar a cualquier de estos objetos un menú de
barra a través del método setMenuBar(). - La clase MenuBar encapsula el concepto de
plataforma de un menú de barra limitado a un
Frame. En orden de asociar el menú de barra con
el objeto Frame se invoca el método setMenuBar de
Frame. - Un menú de barra maneja las teclas rápidas del
teclado para las opciones del menú, pasandolas
hacia los hijos. El uso de teclas rápidas es
opcional, proveen al usuario una alternativa
distinta al mouse para invocar las opciones del
menú y las acciones asociadas a estas. - Cada opción del menú es una instancia de la clase
MenuShortcut, la clase MenuBar define varios
métodos, shortcuts() y getShortcutMenuItem(java.aw
t.MenuShortcut) que obtienen información acerca
de las teclas rápidas que un menú de barra
maneja. - Constructor
- MenuBar(), crea un nuevo menú de barra.
25Clase Color
- Java puede utilizar el sistema de descripción de
colores llamado sRGB (Red, Green, Blue) para
definir el color a utilizar, este color se
conforma por 3 números cada número debe estar en
el rango de 0 a 255, el valor mínimo es 0,0,0 el
cual equivale al negro que es la ausencia de
rojo, verde y azul, el valor máximo es
255,255,255 que equivale al blanco. - En Java un sistema de descripción de colores en
Java se conoce como espacio de colores sRGB es
uno de estos espacios, Java 2 soporta cualquier
espacio de color deseado a través del objeto
ColorSpace. - Si el dispositivo de salida (monitor o impresora)
no soporta un color designado (porque los
dispositivos también tienen su propio espacio de
color) se reemplaza o usa un patrón de tramado
para aproximar el color no disponible. - Para utilizar objetos ColorSpace es necesario
importar el paquete - java.awt.Color
- Para crear un color existen 2 formas de llamar al
método constructor Color - Mediante 3 enteros que representen el valor sRGB
del color deseado. - Mediante 3 números de punto flotante que
representen el valor sRGB deseado.
26Tabla de Colores
- ColorValor sRGBBlack0,0,0
- blue0,0,255
- cyan0,255,255
- darkGray64,64,64
- gray128,128,128
- green0,255,0
- magenta255,0,255
- orange255,200,0
- pink255,175,175
- red255,0,0
- white255,255,255
- yellow255,255,0
27Método setColor() - Establece Color
- Una vez que se define un color ya sea utilizando
alguna de las siguientes posibilidades, - Color(0,0,0)
- Color.nombreColor
- es necesario establecerlo, es decir indicar a
Java que aplique el color deseado, esto es
posible a través del uso del método - setColor()
- Método getColor() - Obtiene Color
- El método getColor() obtiene el color aplicado al
applet.
28Método setBackground() - Establece Color de Fondo
- El método setBackground() establece el color de
fondo del applet, recibe como argumento un objeto
Color. - Método getBackground() - Obtiene Color de Fondo
- El método getBackground() obtiene el color de
fondo del applet.
29Método setForeground() - Establece Color
- El método setForeground() al igual tiene la misma
función que el método setColor la diferencia es
que setForeground() cambia el color del
componente de interfaz (botón o ventana).
30- Método getForeground() - Obtiene Color
- El método getForeground() obtiene el color
establecido por setForeground().
31Clase Font
- La clase Font se utiliza junto con el método
drawString() para especificar un tipo especifico
de fuente con la cual trabajará el applet para
escribir texto. La clase FontMetrics sirve para
definir el tamaño de los caracteres que se
mostrarán en el applet. - Para utilizar la clase Font es necesario importar
el paquete - import java.awt.Font
- El constructor de la clase Font recibe 3
argumentos - Nombre de la fuente. (serif, sanserif,
monospaced) - Estilo de la fuente. (Font.PLAIN, Font.BOLD,
Font.ITALIC) - Tamaño de la fuente.
- Una vez definido el objeto tipo Font es necesario
aplicarlo al applet a tráves del método
setFont(objetoFont)
32Clase Image
- Para manipular imagenes Java lo hace mediante la
clase abstracta Image que es la superclase de
todas las clases que representan imagenes
gráficas, contenida en el paquete java.awt por lo
que deberá importar el paquete correspondiente
para su uso - java.awt.Image
- Se puede usar un objeto URL para crear un objeto
Image que represente la ubicación y el archivo
gráfico.
33Obtener Imagenes - getImage()
- Para presentar una imagen en un applet, primero
debe cargarse la imagen, las imagenes son
almacenadas como archivos externos por lo que es
necesario indicar donde se encuentran almacenadas
en formatos gif o jpg. - Para cargar un archivo gráfico dentro de un
objeto Image se utiliza el método getImage() de
la clase Applet - El método sobrecargado getImage() puede usarse de
2 formas - Utilizando un argumento que es un objeto de tipo
URL el cual recupera una imagen de ese objeto. - Utilizando 2 argumentos, un objeto de tipo URL y
una cadena que representa la trayectoria relativa
o el nombre de un archivo de la imagen real. - Ambos métodos regresan un objeto Image que puede
ser pintado en la pantalla del applet. - Puede utilizar además de estos 2 métodos otros 2
que forman parte de la clase Applet con lo cuales
se puede crear un objeto URL base sin utilizar
una dirección específica dentro del programa, con
getDocumentBase() y getCodeBase() con estos
métodos podrá hacer pruebas en una máquina local.
34Pintar Imagenes - drawImage()
- Despues de cargar una imagen dentro de un objeto
Image, es posible dibujarla en la ventana de un
applet utilizando para ello algún método
sobrecargado drawImage() de la clase Graphics,
por ejemplo para dibujar la imagen con su tamaño
original el método se invoca con 4 argumentos - El objeto Image.
- Valor int que define la coordenada X.
- Valor int que define la coordenada Y.
- La palabra reservada this.
- Otro de los métodos sobrecargados drawImage() se
invoca con 6 argumentos similar al método
anterior agregando 2 argumentos más que definen
el ancho y alto del archivo gráfico sin alterarlo
puesto que se escala.
35Obtener el alto de una imagen - getImage() de la
clase Image
- El método getHeight de la clase Image determina
el alto de un objeto Image, si el valor no se
conoce aún el método regresa el valor -1 y el
objeto ImageObserver es notificado más tarde - Obtener el ancho de una imagen - getWidth() de la
clase Image - El método getWidth de la clase Image determina el
ancho de un objeto Image, si el valor no se
conoce aún el método regresa el valor -1 y el
objeto ImageObserver es notificado más tarde.
36import java.awt.MenuItem
- La clase MenuItem extiende de la clase
MenuComponent e implementa la interfaz
Accessible. - Todos las opciones de un menú deben pertenecer a
la clase MenuItem o a una de sus subclases. - El objeto MenuItem por default incorpora una
opción como una etiqueta simple. Un separador es
en sí mismo una opción de menú, creado con la
etiqueta "-". - Cuando la opción de un menú se selecciona, AWT
envía un evento de la acción a la opción del
menú, ya que el evento es una instancia de
ActionEvent, el método processEvent examina el
evento y lo pasa hacia un processActionEvent. El
último método redirecciona el evento a cualquier
objeto ActionListener que tiene registrado un
interes en los eventos de acciones generadas por
una opción del menú. - Observe que la subclase Menu sobrepone este
comportamiento y no envía ningún evento al Frame
hasta que una de sus subopciones se selecciona.
37Clase CardLayout
- Un objeto CardLayout es un administrador de
componentes para un contenedor. Cada componente
en el contenedor es tratado como una tarjeta, por
lo que sólo una tarjeta es visible a la vez y el
contenedor actua como un repartidor de tarjetas.
El primer componente agregado al objeto
CardLayout es el componente visible cuando el
contenedor es presentado por vez primera. - El orden de las tarjetas está determinado por el
ordenamiento de los componentes interno propio
del contenedor. Un CardLayout define un conjunto
de métodos que permite a una aplicación invertir
las tarjetas secuencialmente o mostrar una
tarjeta especifica. - El método addLayoutComponent puede ser usado para
asociar un identificador string con el que tiene
asignado la tarjeta para un acceso aleatorio
rápido.