Académique Documents
Professionnel Documents
Culture Documents
avanzada
Unidad 1
Programacin visual
M. en C. Jovan Abundez Peralta
Componente
evento
ocurrido
Escuchador
Mtodo
(respuesta al evento)
Clases bsicas.
Contenedores de alto nivel.
Contenedores intermedios.
Componentes atmicos.
JDialog
La clase JDialog es la clase raz de las ventanas
secundarias que implementan cuadros de dilogo en
Swing. Estas ventanas dependen de una ventana
principal (o con marco, normalmente de clase JFrame) y
si la ventana principal se cierra, se iconiza o se
desiconiza, las ventanas secundarias realizan la misma
operacin de forma automtica. Estas ventanas pueden
ser modales o no modales, es decir, limitan la interaccin
con la ventana principal si as se desea. El constructor
ms utilizado es:
JFileChooser
Se trata de un selector de archivos que permite la
eleccin interactiva de un archivo o un
directorio. Un uso habitual puede ser el
siguiente:
JColorChooser
Sirve para elegir un color de una paleta que presenta en
cuadro de dilogo. El uso bsico es el siguiente:
JScrollPane
La clase JScrol1Pane proporciona un panel con
la capacidad de presentar barras de
desplazamiento para mostrar su contenido. Es
adecuado para presentar informacin que no
cabe completamente en la zona de visualizacin
asignada. El componente que proporciona el
contenido se denomina cliente y la zona de
presentacin de informacin se denomina puerto
de visualizacin.
JSpiltPane
Es un contenedor que gestiona dos componentes
(normalmente
paneles)
colocados
vertical
u
horizontalmente y diferenciados por un separador que
puede reposicionar el usuario. El usuario puede decidir
cul es el tamao asignado a cada uno de los
componentes pulsando con el ratn sobre el separador y
arrastrndolo. De modo predeterminado, se dividen en
horizontal, aunque se puede establecer en el constructor.
La forma ms habitual de uso es la siguiente:
JTabbedPane
El panel con solapas es un contenedor que gestiona
varios grupos de componentes como una pila de fichas.
Los componentes se superponen unos a otros de forma
que slo uno de ellos es visible en cada momento. El
usuario decide cul de los componentes se visualiza
seleccionando la solapa o lengeta correspondiente a
dicho componente. Las solapas incluyen un texto y/o un
icono y se pueden colocar en las partes superior, inferior,
derecha o izquierda del contenedor. El administrador de
disposicin por defecto de este componente es
CardLayout. La forma ms habitual de uso y los
mtodos ms utilizados son los siguientes:
JToolBar
Esta clase implementa una barra de herramientas,
formada normalmente por botones o controles que
incluyen iconos, y que aparecen organizados como una
fila o una columna dependiendo de la zona de la pantalla
donde se coloque. Por defecto, el usuario puede
seleccionar y desplazar esta barra de herramientas a
cualquier borde del contenedor que la incluye (se
recomienda usar el administrador de disposicin
BorderLayout) o a una ventana independiente. Si el
programador no quiere que se pueda desplazar, tiene que
desactivar
dicha
posibilidad
mediante
barraHerramientas.setFloatable(false). El administrador
de disposicin por defecto de una barra de herramientas
es BoxLayout. El uso y mtodos ms habituales de este
componente son los siguientes:
JLabel
Esta clase implementa una etiqueta que puede contener
una cadena de texto, un icono o ambos. En una etiqueta
se puede especificar donde aparece su contenido
indicando el alineamiento vertical y horizontal. Por
defecto, las etiquetas se muestran centradas
verticalmente, y si slo tienen texto, ajustadas a la
izquierda. Si slo tienen una imagen grfica por defecto
se muestran centradas tanto vertical como
horizontalmente. Es posible indicar la posicin relativa
del texto con relacin al icono. Tambin se puede utilizar
como texto un fragmento de HTML. Un uso habitual de
un JLabel es el siguiente:
JButton
Esta clase implementa la forma ms habitual de
botn grfico de interaccin que sirve para
ejecutar una accin haciendo clic sobre l.
Tambin se puede activar mediante el teclado si
se le ha asociado una combinacin de teclas.
Puede tener un texto y/o un icono.
JToggleButton
Esta clase implementa un botn de operacin que tiene
un estado interno y funciona como un conmutador.
Cuando se pulsa el botn su estado pasa a estar
seleccionado hasta que se vuelve a pulsar de nuevo, en
cuyo caso deja de estar seleccionado. El uso y mtodos
ms habituales son los siguientes:
JCheckBox
Es una casilla de verificacin con dos estados posibles:
seleccionada o no seleccionada, que determina y
modifica su apariencia grfica (normalmente mediante
una cruz o marca de seleccin). Generalmente se utiliza
para permitir que el usuario decida si desea elegir una
opcin o no. Si hay varias casillas de verificacin, stas
no son mutuamente excluyentes, de modo que varias de
ellas pueden estar seleccionadas de forma simultnea. El
uso y mtodos ms habituales son los siguientes:
JRadioButton
Esta clase implementa los botones de radio o de
opcin que son una especializacin de un botn
con estado o conmutador y se caracterizan
porque en un grupo de botones de radio slo uno
de ellos puede estar seleccionado. Para crear un
grupo de botones de radio hay que aadirlos en
un objeto ButtonGroup, que no tiene
representacin grfica. El uso y mtodos ms
habituales son los siguientes:
Las
casillas
de
verificacin
(JCheckBoxMenuItem) y los botones de radio
(RadioButtonMenuItem)
de
los
mens
funcionan de la misma forma y tienen mtodos
similares que los botones correspondientes
(JCheckBox y JRadioRutton). El uso y mtodos
ms habituales son los siguientes:
JTextField
Componente que permite mostrar y editar una nica
lnea de texto. Una especializacin de los campos de
texto son los campos de contrasea (JPasswordField)
que tienen la particularidad de que no muestran el
contenido que se escribe sino otro carcter (por ejemplo,
un asterisco) o los campos de texto con formato
(JFormattedTextField) que permiten especificar el
formato de texto que acepta. El uso y mtodos ms
habituales son los siguientes:
JTextArea
Este componente permite mostrar y editar varas
lneas de texto. Su limitacin principal es que
slo permite mostrar texto sencillo en el que se
utilice un nico tipo de letra. Habitualmente se
utiliza asociado a un panel con desplazamiento.
El uso y mtodos ms habituales son los
siguientes:
JEditorPane
Esta clase proporciona soporte para campos de
texto de mltiples lneas y con formato. Adems
de texto simple soportan texto en formato
HTML y texto en formato enriquecido (RTF,
Rich Text Format). Aunque son bsicamente
editores de texto sencillos que implementan el
ajuste de lneas, estos campos de texto no
incluyen barras de desplazamiento y, por tanto,
normalmente se utilizan asociados a un panel
con desplazamiento.
JList
La clase JList implementa una lista de elementos que se
presenta habitualmente en forma de columna. En esta
lista el usuario puede realizar la seleccin de uno
(comportamiento por defecto) o varios de sus elementos.
Si la lista tiene muchos elementos y, por tanto, puede no
caber en el espacio de visualizacin asignado debera
incluirse en un panel con barras de desplazamiento. El
uso y mtodos ms habituales son los siguientes:
JComboBox
Esta clase implementa un cuadro combinado
desplegable, en el que se agrupan las funcionalidades de
una lista y un campo de texto. Cuando el usuario
selecciona un elemento de la lista, ese valor pasa
automticamente a mostrarse como contenido del cuadro
combinado. Tiene dos posibles formas de uso. La
primera y ms simple en la que slo se permite que el
usuario escoja una opcin de entre una lista fija de
posibles valores. La segunda forma de uso es en la que el
usuario tambin puede introducir un nuevo valor. El uso
y mtodos ms habituales son los siguientes:
1.3.3.2. BoxLayout
Con BoxLayout los componentes se organizan
en una nica fila, o en una nica columna. La
ordenacin concreta dentro de la fila o columna
puede ser absoluta: X_AXIS (horizontalmente
de izquierda a derecha) e Y_AXIS
(verticalmente de arriba abajo), o relativa
dependiendo de la caracterstica de orientacin
del componente: LIINE_AXIS (como se
organizan las palabras en una lnea) y
PAGE_AXIS (como se organizan las lneas en
una pgina). Es el diseo por defecto de las
barras de herramientas (JToolBar).
1.3.3.3. BorderLayout
Este administrador de disposicin est basado en
dividir el contenedor en cinco zonas, una central
y otras cuatro segn los puntos cardinales. La
zona central trata de ocupar la mayor parte
posible del espacio del contenedor. Es el
administrador por defecto en el panel de
contenido de los contenedores de alto nivel (por
ejemplo, JFrame, JDia1og). Al aadir un
componente hay que indicar la zona en que se
quiere colocar. Cada una de las zonas est
identificada por la correspondiente constante de
clase: CENTER, NORTH, SOUTH, EAST y
WEST.
1.3.3.4. CardLayout
Permite gestionar distintos componentes
(normalmente paneles) que ocupan un mismo
espacio, de forma que en cada momento slo
uno de ellos es visible. Utiliza la idea de un
mazo de tarjetas o cartas donde slo es visible la
primera de ellas. La ordenacin del mazo es el
orden en el que se han aadido los componentes.
CardLayout define un conjunto de mtodos que
permiten recorrer el mazo de cartas
secuencialmente (de la primera a la ltima o al
revs) o mostrar una carta determinada a partir
de su nombre.
1.3.3.5. GridLayout
Con GridLayout los componentes se colocan en
una matriz de celdas, definida por filas y
columnas, que ocupa todo el espacio asignado al
contenedor. Todas las celdas son iguales y los
componentes utilizan todo el espacio disponible
para cada celda. Al aadir los componentes se va
rellenando la matriz primero por filas (en
funcin de la orientacin del componente) y
cuando una fila esta llena se pasa a la siguiente.
1.3.3.6. GridBagLayout
Permite organizar los componentes tanto verticalmente
como horizontalmente aunque tengan distinto tamao.
Con este propsito mantiene una matriz de celdas, donde
las filas y columnas pueden tener distinto tamao, en las
que se sitan los componentes. Un componente puede
ocupar varias celdas contiguas. La situacin y el espacio
ocupado por cada uno de los componentes se describen
por medio de restricciones (constrains). A cada
componente se le asocia un objeto de la clase
GridBagConstrains que especifica las restricciones y
que, junto con las indicaciones de tamao del
componente (tamao mnimo y tamao preferido),
determinan la presentacin final del objeto en el
contenedor.