Escolar Documentos
Profissional Documentos
Cultura Documentos
TextArea
TextField
ScrollPane
List Choice
Checkbox Label
ScrollBar
Componentes AWT y Peers
Windows’95
Presentación
MAC
Sistema de Motif
Programa Java Java AWT Ventanas
Nativo, Peers
El programa JAVA crea y despliega una componente AWT, quien a su vez crea y despliega una componentes
nativa -peer-.
Componentes AWT y Peers
El AWT causa que un thread invoque al El programa invoca al método repaint() sobre
método paint() sobre la componente la componente. Esto causa que se registre un
pedido asincrónico al AWT para que se vuelva
a pintar la componente.
El AWT causa que un thread invoque al
Si la componente heavyweigth método update() sobre la componente.
necesita actualizarse
continuamente (por ej. una Si la componente no sobreescribe el método
animación ), el método update() update(), la implementación por defecto
debe sobreescribirse para invocar limpia el background de la componente e
sólo al paint(). Eliminando el
borrado de la componente, se
invoca al método paint().
reduce el papadeo
Requerimiento de pintado de
componentes
Subclases Descripción
Applet Es subclase de Panel.
Es la superclase de todas las applets.
Dialog Es subclase de Window.
Puede ser modal o no-modal.
FileDialog Es un Dialog para elegir archivos.
Frame Es subclase de Window.
Es el contenedor de las aplicaciones.
Puede contener un menubar.
Panel Es un simple contenedor.
ScrollPane Permite hacer “Scroll” de una
componente.
Window No tiene menubar ni borde.
Es la superclase de Frame y Dialog.
AWT - Layout Manager
üLos containers delegan en el layout manager todo lo
relacionado a la ubicación, tamaño, espaciado y distribución de
sus componentes en la pantalla.
setLayout(new FlowLayout());
..................
add(new Button(“Button 1”));
add(new Button(“2”));
add(new Button(“Button 3”));
add(new Button(“Long-Named Button 4”));
add(new Button(“Button 5”));
AWT - BorderLayout
ü Es el layout manager por defecto de Window (Dialog y Frame).
ü El BorderLayout usa cinco áreas para acomodar las componentes del
container: North, South, East, West y Center. Al agrandar la ventana, el área
central es la que ocupará la mayor parte del espacio disponible, las restantes
áreas se expanden solamente lo necesario como para completar el espacio. Por
defecto, el BorderLayout no usa espaciado entre componentes.
setLayout(new BorderLayout());
..................
add(“North”, new Button(“North”));
add(“South”, new Button(“South”));
add(“East”, new Button(“East”));
add(“West”, new Button(“West”));
add(“Center”, new Button(“Center”));
AWT - Ejemplo
public class UIDemo extends Applet {
Button b1,b2;
Checkbox c1;
Label l1; Container
public void init(){
b1=new Button();
b1.setLabel(“Botón 1”);
................
b2=new Button(“Botón 2”);
................
c1=new Checkbox(“Checkbox 1”,false);
l1=new Label();
l1.setText(“Label 1”);
l1.setAlignment(label.RIGHT);
//Agrega Componentes usando el FlowLayout (layout manager de default)
add(b1);
add(b2); Agrega las componentes de la GUI al applet
add(c1);
add(l1);
}
}
Manejo de Eventos en AWT 1.1
üA partir del AWT 1.1, el manejo de eventos de la GUI está
basado en el modelo de delegación. La versión original del
AWT basó su manejo de eventos en herencia.
üLa premisa del modelo de delegación de eventos es simple:
objetos que disparán ú originan eventos llamados fuentes del
evento y objetos que escuchan y atienden esos eventos
llamados listeners del evento.
üLos objetos que disparán eventos son las componentes de
GUI (fuentes generadoras de eventos) y, delegan el manejo
de los mismos a los objetos listeners.
üLos objetos listeners son registrados sobre las componentes
invocando al método: addXYZListenter(XYZListener).
üLuego de la registración, los métodos apropiados del listener
serán invocados cuando el tipo de evento correspondiente
ocurra sobre la componente.
Manejo de Eventos en AWT 1.1
üLas componentes que generan eventos implementan un método para la
registración de listeners (por ej. Button.addActionListener(ActionListener)
y Button.removeActionListener(ActionListener)). De esta manera, los
objetos listeners de un tipo determinado pueden registrar interés ó
desregistrar interés en los eventos que la componente dispara.
üCuando un evento ocurre, la componente que lo originó instancia un evento
apropiado que es pasado al/los listeners que se registraron sobre la
componente.
üLos listeners son los responsables de implementar métodos para el manejo
de eventos. Estos métodos tienen como parámetro un objeto evento que
contiene información acerca del evento y al objeto que originó el evento.
3) Se instancia un evento de un tipo apropiado (event)
2) 4) listener.eventHandler(event)
Ocurre un Evento Fuente de Eventos
Listener de Eventos
1) fuente.addListenerType(new ListenerType())
AWT - Clases de Eventos
La clase java.util.EventObject es uno de los fundamentos del modelo de delegación de eventos.
En el modelo de delegación de eventos estructura los eventos por clases de eventos relacionados.
MOUSE_CLICKED WINDOW_ACTIVATED
MOUSE_ENTERED WINDOW_DEACTIVATED
MOUSE_EXITED MouseEvent KeyEvent WINDOW_OPENED
MOUSE_PRESSED WINDOW_CLOSED
MOUSE_RELEASED WINDOW_ICONIFIED
...................
AWT - Interfaces EventListener
Las interfaces EventListener residen en los paquetes java.util y java.awt.event
EventListener
Action-
Window-
Listener
Listener
actionPerformed(ActionEvent)
AdjustmentL MouseMotion-
istener Listener
Component- Mouse-Listener
Listener