Download AWT

Document related concepts
no text concepts found
Transcript
AWT
ABSTRAC WINDOW TOOLKIT
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.1
AWT
• ¿Qué es?
• Su estructura.
– Los Componentes
– Los Contenedores
– Los gestores de posición
– Los eventos
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.2
AWT
¿Qué es?
• Es una librería de clases Java para desarrollar
interfaces de usuario gráficas.
• Es la librería básica y se ha construido una
posterior que es la Swing.
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.3
AWT
Su estructura
• La librería AWT esta compuesta por:
– Los Componentes (java.awt.Component), como los
Buttons, Labels,..
– Los Contenedores (java,awt.containers), contienen
componentes.
– Los gestores de posición (java.awt.LayoutManager),
que posiciona los componentes dentro de los
contenedores.
– Los eventos (java.awt.AWTEvent), que nos indican
las acciones del usuario.
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.4
AWT
Los componentes
• Es una clase abstracta que representa todo lo que tiene
una posición, un tamaño, puede ser pintado en pantalla
y puede recibir eventos.
• Los components de AWT son:
Button
Canvas
Checkbox
Choice
Container
Panel
ScrollPane
Window
Label
List
Scrollbar
TextComponent
TextArea
TextField
– Dialog
» FileDialog
– Frame
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.5
AWT
Los contenedores
• Es una clase abstracta derivada de Component, que
representa a cualquier componente que pueda contener
otros componentes.
• A su vez son componentes
• El AWT proporciona varias clases de Contenedores:
– Panel
• Applet
– ScrollPane
– Window
• Dialog
– FileDialog
• Frame
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.6
AWT
Gestores de posición
¿Como controlar dónde añadimos los objetos?
• Para ello se crearon los Layout Maneger, ellos
se especifican unas posiciones determinadas en
un panel, frame o applet donde añadiremos
nuestros componentes o un nuevo panel, al que
también le podremos añadir un layout en cuyas
posiciones podremos añadir componentes o
más panels con layouts....
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.7
AWT
Gestores de posición
FlowLayout
• Es el que tienen los paneles por defecto.
• Los objetos se van colocando en filas en el mismo
orden en que se añadieron al contenedor.
• Cuando se llena una fila se pasa a la siguiente.
• Tiene tres posibles constructores:
FlowLayout();.
FlowLayout(FlowLayout.LEFT[RIGTH][CENTER]);
Crea el layout sin añadirle los componentes, con los bordes de unos
pegados a otros
FlowLayout(FlowLayout.LEFT, gap_horizontal, gap_vertical);
Indica la alineación de los componentes: a la izquierda, derecha o
centro con espacio entre los componentes.
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.8
AWT
Gestores de posición
GridLayout
• Crea un grid (malla) y va añadiendo los componentes a
las cuadrículas de la malla de izquierda a derecha y de
arriba abajo.
• Todas las cuadrículas serán del mismo tamaño y
crecerán o se harán más pequeñas hasta ocupar toda el
área del contenedor.
• Dos posibles constructores:
GridLayout(int filas, int columnas);
Creará un layout en forma de malla con un número de columnas y
filas igual al especificado.
GridLayout(int columnas, int filas, int gap_horizontal, int
gat_vertical);
Especifica espaciados verticales y horizontales entre las
cuadrículas. El espaciado se mide en píxeles.
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.9
AWT
Gestores de posición
BorderLayout
• Este layout tiene cinco zonas predeterminadas
son:
Al cambiar el tamaño del contenedor se estirarán
norte (NORTH) hacia los lados para llegar a ocupar toda el área
disponible, pero sin variar su tamaño en la dirección
sur (SOUTH)
vertical.
este(EAST)
oeste (WEST)
Variarán su tamaño en la dirección vertical pero sin
nunca variarlo en la dirección horizontal.
centro (CENTER)
22/11/2005
Crecerá o disminuirá en todas las direcciones para
rellenar todo el espacio vertical y horizontal que
queda entre las zonas norte, sur, este y oeste
E.T.S de Ingenieros de Telecomunicación - UPNA
.10
AWT
Gestores de posición
BorderLayout
• Posee dos contructores:
BorderLayout();
Que creará el layout sin más
BordreLayout(int gap_horizontal, int gap_vertical);
Creará el layout dejando los gaps horizontales y verticales entre sus distintas zonas.
añadir más paneles o componentes a este Layout hay una pequeña diferencia aquí
especificamos en el método add la región donde queremos añadir.
panel.add(componente_a_añadir, BorderLayout.REGION_que_QUERAMOS);
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.11
EVENTOS
DEFINICION
• Evento: Encapsulación de la información
que puede ser envada a la aplicación de
manera asíncrona
• Avisan de las acciones de usuario
• Manejo de eventos: Se realiza mediante el
uso de interfaces definidas en
java.awt.event. Listener Interface
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.12
EVENTOS
Tipos
• FISICOS:
– ComponentEvent
– ContainerEvent
– FocusEvent
– KeyEvent
– MouseEvent
– MouseMotionEvent
– WindowEvent
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.13
EVENTOS
Tipos
• SEMÁNTICOS:
– ActionEvent
– AdjustmentEvent
– ItemEvent
– TextEvent
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.14
EVENTOS
ADAPTERS
• Adapters: Son clases que tienen definidos todos los
métodos de un interfaz concreto.
– La implementación de dichos métodos está vacía.
• Llamando a un Adapter y sobreescribiendo los métodos
necesarios conseguimos el mismo resultado que
implementando directamente el interfaz.
– Heredando de un adapter extends.
– Implementando directamente la interfaz implements.
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.15
EVENTOS
Métodos de los interfaces
LISTENER INTERFACE
ActionListener
ADAPTER CLASS
AdjustmentListener
MÉTODOS
actionPerformed
adjustmentValueChanged
ComponentListener
ComponentAdapter
4 METODOS
ContainerListener
ContainerAdapter
2 METODOS
FocusListener
FocusAdapter
ItemListener
22/11/2005
2 METODOS
itemStateChanged
E.T.S de Ingenieros de Telecomunicación - UPNA
.16
EVENTOS
Métodos de los interfaces
LISTENER INTERFACE
KeyListener
ADAPTER CLASS
KeyAdapter
MÉTODOS
3 METODOS
MouseListener
MouseAdapter
5 METODOS
MouseMotionListener
MouseMotionAdapter
2 METODOS
TextListener
WindowListener
22/11/2005
textValueChanged
WindowAdapter
7 METODOS
E.T.S de Ingenieros de Telecomunicación - UPNA
.17
AWT
• CALCULADORA DE EJEMPLO EN JAVA
– Utilizamos la tecnología AWT para crear el
interface de la aplicación, como los botones,
labels, marco….
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.18
DIAGRAMA DE CLASES:
CALCULADORA
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.19
Bibliografía
• Piensa en Java. Bruce Eckel. 2º Edición
• www.javahispano.org
– Curso J2SE
– Tutorial Java básico con ejemplos (Abraham)
• Tutorial de Java AWT.
22/11/2005
E.T.S de Ingenieros de Telecomunicación - UPNA
.20