Awt
Upcoming SlideShare
Loading in...5
×
 

Awt

on

  • 1,330 views

AWT y sus Eventos

AWT y sus Eventos

Statistics

Views

Total Views
1,330
Views on SlideShare
1,246
Embed Views
84

Actions

Likes
0
Downloads
27
Comments
0

2 Embeds 84

http://programacion.freetzi.com 83
http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Awt Awt Document Transcript

  • Programación de Sistemas de Tiempo Real Java: repaso http://arcos.inf.uc3m.es/~ii_pstr AWT• Introducción.• Ejemplo.• Estructura: visión estática – partes + composición + ejemplo.• Interacción: visión dinámica – partes + composición + ejemplo.• Canvas 1
  • AWT• AWT = Abstract Windows Toolkit Conjunto de clases de Java orientado a la construcción de interfaces de usuario simples.• AWT => java.awt.* Paquete de Java que contiene las distintas clases. Ejemploimport 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(); }} 2
  • Estructura: partes• Elementos(component): Elementos visuales (o no) como botones, etiquetas, listas, menús, etc.• Contenedores (container): Son también elementos, pero representan un espacio para posicionar otros elementos, incluidos otros contenedores.• Ordenación (Layout): Disposición 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 edición de texto de una línea.• TextArea: como un TextField pero para múltiples líneas.• Canvas: espacio para dibujar gráficos.• ... 3
  • Partes: Contenedores• panel: un contenedor básico. – applet: ventana empotrada.• windows: ventana sin título ni sin bordes. – dialog: cuadro de diálogo. • fileDialog: cuadro de diálogo para seleccionar fichero. – frame: ventana con título y bordes . Partes: Ordenación• BorderLayout: Dispuestos de acuerdo a puntos orientativos.• GridLayout: Dispuestos en una maya.• GridBagLayout : En una maya donde los elementos pueden ser de diferentes tamaños.• CardLayout: Disposición basada en tarjetas que pueden alternarse.• FlowLayout: Disposición que ordena los componentes de izquierda a derecha. 4
  • Partes: Utilidades• Color• Cursor• Dimension• Font• Graphics• ... Estructura: composición 1. Crear el contenedor de trabajo raíz: Frame f1 = new Frame(); 2. Crear los elementos del contenedor: Button f1_b1 = new Button(); Panel f1_p1 = new Panel(); 3. Añadir 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. 5
  • Estructura: Ejemploimport 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(); }} Interacción: partes• Eventos (Event): Suceso asíncrono generado por el usuario (o el sistema) al interaccionar con algún componente.• Fuente de eventos: Componentes que generan eventos.• Destino de los eventos: Objetos que reciben y procesan los eventos. – Implementar Listeners – Extender Adapters 6
  • 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. Interacción: composición Evento F Escuchador F Adaptador F Fuente F ... ... ... registrarse extender MyAdaptador ... 7
  • Interacción: composición (2) •¿Qué eventos puede generar? •¿Qué escuchador/adaptador los procesa?• Conocer la fuente de los eventos: Button b1 = new Button();• Crear el escuchador/adaptador: public class MyListener implements ActionListener { … // gestión de eventos }• Añadir el escuchador/adaptador: b1.addActionListener( MyListener); Interacción: Ejemplo 1import 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()); }} 8
  • Interacción: 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(); } } // public class AWT5 Interacción: Ejemplo 2import 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); } } } 9
  • import java.lang.*; Canvasimport 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) {} } } 10