Title: AWT
1AWT
2AWT
- Qué es?
- Su estructura.
- Los Componentes
- Los Contenedores
- Los gestores de posición
- Los eventos
3AWTQué 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.
4AWTSu 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.
5AWTLos 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
- Dialog
- FileDialog
- Frame
Label List Scrollbar TextComponent TextArea
TextField
6AWTLos 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
7AWTGestores 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....
8AWTGestores 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.LEFTRIGTHCENTER)
- 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. -
9AWTGestores 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.
10AWTGestores de posición
- BorderLayout
- Este layout tiene cinco zonas predeterminadas
son - norte (NORTH)
- sur (SOUTH)
- este(EAST)
- oeste (WEST)
- centro (CENTER)
Al cambiar el tamaño del contenedor se estirarán
hacia los lados para llegar a ocupar toda el área
disponible, pero sin variar su tamaño en la
dirección vertical.
Variarán su tamaño en la dirección vertical pero
sin nunca variarlo en la dirección horizontal.
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
11AWTGestores de posición
- 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)
12EVENTOSDEFINICION
- 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
13EVENTOSTipos
- FISICOS
- ComponentEvent
- ContainerEvent
- FocusEvent
- KeyEvent
- MouseEvent
- MouseMotionEvent
- WindowEvent
14EVENTOSTipos
- SEMÁNTICOS
- ActionEvent
- AdjustmentEvent
- ItemEvent
- TextEvent
15EVENTOSADAPTERS
- 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.
16EVENTOSMétodos de los interfaces
- LISTENER INTERFACE ADAPTER CLASS MÉTODOS
- ActionListener actionPerformed
- AdjustmentListener
adjustmentValueChanged - ComponentListener ComponentAdapter 4 METODOS
- ContainerListener ContainerAdapter 2 METODOS
- FocusListener FocusAdapter 2 METODOS
- ItemListener itemStateChanged
17EVENTOSMétodos de los interfaces
- LISTENER INTERFACE ADAPTER CLASS MÉTODOS
- KeyListener KeyAdapter 3 METODOS
- MouseListener MouseAdapter 5 METODOS
- MouseMotionListener MouseMotionAdapter 2 METODOS
- TextListener textValueChanged
- WindowListener WindowAdapter 7 METODOS
18AWT
- CALCULADORA DE EJEMPLO EN JAVA
- Utilizamos la tecnología AWT para crear el
interface de la aplicación, como los botones,
labels, marco.
19DIAGRAMA DE CLASES CALCULADORA
20Bibliografí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.