http://arcos.inf.uc3m.es/~ii_pstr
AWT
Introduccin. Ejemplo. Estructura: visin esttica
partes + composicin + ejemplo.
Canvas
AWT
AWT = Abstract Windows Toolkit
Conjunto de clases de Java orientado a la construccin de interfaces de usuario simples.
Ejemplo
import java. awt.*; public class AWT2 { public static void main(String args[]) { Frame f1 = new Frame("AWT2"); Button b1 = new Button("ok"); f1.add("Center", b1); f1.setSize(100,100); f1.show(); } }
Estructura: partes
Elementos(component): Elementos visuales (o no) como botones, etiquetas, listas, mens, etc. Contenedores (container): Son tambin elementos, pero representan un espacio para posicionar otros elementos, incluidos otros contenedores. Ordenacin (Layout): Disposicin que adopta los elementos sobre su contenedor. Utilidades: Clases de apoyo para diferentes elementos.
Partes: Elementos
Checkbox: una caja a seleccionar. Label: una etiqueta de texto. List: una lista de objetos a seleccionar. Scrollbar: una barra para desplazarse por un documento. TextField: un campo de edicin de texto de una lnea. TextArea: como un TextField pero para mltiples lneas. Canvas: espacio para dibujar grficos. ...
Partes: Contenedores
panel: un contenedor bsico. applet: ventana empotrada. windows: ventana sin ttulo ni sin bordes. dialog: cuadro de dilogo. fileDialog: cuadro de dilogo para seleccionar fichero. frame: ventana con ttulo y bordes .
Partes: Ordenacin
BorderLayout: Dispuestos de acuerdo a puntos orientativos. GridLayout: Dispuestos en una maya. GridBagLayout : En una maya donde los elementos pueden ser de diferentes tamaos. CardLayout: Disposicin basada en tarjetas que pueden alternarse. FlowLayout: Disposicin que ordena los componentes de izquierda a derecha.
Partes: Utilidades
Color Cursor Dimension Font Graphics ...
Estructura: composicin
1. Crear el contenedor de trabajo raz: Frame f1 = new Frame(); 2. Crear los elementos del contenedor: Button f1_b1 = new Button(); Panel f1_p1 = new Panel(); 3. Aadir los elementos: f1.add(f1_b1); f1.add(f1_p1); 4. Si hay subcontenedores, repetir los pasos 2, 3 y 4 con cada uno de estos.
Estructura: Ejemplo
import java.awt.*; public class AWT3 { public static void main(String args[]) { Frame f1 = new Frame("AWT1"); f1.setLayout(new GridLayout(3,2)); f1.add(new Canvas()); f1.add(new Button("1")); f1.add(new Button("2")); f1.add(new Button("3")); f1.add(new Button("4")); f1.add(new Button("5")); f1.setSize(150,150); f1.show(); }
Interaccin: partes
Eventos (Event): Suceso asncrono generado por el usuario (o el sistema) al interaccionar con algn componente. Fuente de eventos: Componentes que generan eventos. Destino de los eventos: Objetos que reciben y procesan los eventos.
Implementar Listeners Extender Adapters
partes: destinatarios
java.awt.event.*
Escuchadores (Listeners): Interfaces que describe como ser avisados cuando se produce una clase de eventos. Adaptadores (Adapters): Clases abstractas que implementan los escuchadores con las acciones por defecto.
Interaccin: composicin
Evento F Escuchador F Adaptador F Fuente F ... ... ...
registrarse
MyAdaptador
...
extender
Conocer la fuente de los eventos: Button b1 = new Button(); Crear el escuchador/adaptador: public class MyListener implements ActionListener { // gestin de eventos } Aadir el escuchador/adaptador: b1.addActionListener( MyListener);
Interaccin: Ejemplo 1
import java.awt.*; import java.awt.event.*; public class AWT4 { static class MyAdapter extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } } public static void main(String args[]) { Frame f1 = new Frame("AWT4"); f1.setLayout(new GridLayout(2,1)); f1.add(new Canvas()); f1.add(new Button("ok")); f1.setSize(100,100); f1.show(); f1.addWindowListener(new MyAdapter()); }
Interaccin: Ejemplo 2
public static void main (String args[]) { Canvas c1 = new Canvas() ; c1.setBackground(Color.blue); Button b1 = new Button("ok"); b1.addActionListener(new MyBtnEvn(c1)); Frame f = new Frame("AWT5") ; f.addWindowListener(new MyWinEvn()); f.setLayout(new GridLayout(2,1)); f.add(c1); f.add(b1); f.setSize(100,100); f.pack(); f.show();
Interaccin: Ejemplo 2
import java.awt.*; import java.awt.event.*; import java.awt.Color.*; public class AWT5 { static public class MyWinEvn extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } } static public class MyBtnEvn implements ActionListener { Canvas c ; public MyBtnEvn ( Canvas canvas ) { c = canvas; } public void actionPerformed ( ActionEvent e ) { String ac = e.getActionCommand(); if (ok.equals(ac)) { Color color = c.getBackground(); color = (color == Color.blue) ? Color.red : Color.blue ; c.setBackground(color); } } }
import java.lang.*; import java.awt.*; public class AWT6 { static public class MyCanvas extends Canvas {.......} static public void main ( String args[] ) { Frame f = new Frame(); Canvas c1 = new MyCanvas(); f.add("Center",c1);f.setSize(300,300); f.show(); } } public void paint(Graphics g) { g.drawString("MyCanvas",50,200); for (int i=0; i<150; i++) { g.setColor(java.awt.Color.red); g.drawLine(0+i, 0, 150-i, 150); g.drawRect(150, 0, i, 150); try { Thread.sleep(2); } catch (Exception e) {} } }
Canvas
10