SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
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.




                           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();
    }
}




                                                     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: 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();
    }
}




                 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 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());
    }
}




                                                                       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 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);
                   }
          }
   }




                                                                                  9
import java.lang.*;             Canvas
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) {}
                                  }
                               }




                                                                                       10

Más contenido relacionado

La actualidad más candente

La actualidad más candente (19)

2 interfaces graficas_de_usuario (1)
2 interfaces graficas_de_usuario (1)2 interfaces graficas_de_usuario (1)
2 interfaces graficas_de_usuario (1)
 
Programas en netbeans
Programas en netbeansProgramas en netbeans
Programas en netbeans
 
Visual basic
Visual basicVisual basic
Visual basic
 
Ejercicios en java
Ejercicios en javaEjercicios en java
Ejercicios en java
 
Practicas en matlab
Practicas en matlabPracticas en matlab
Practicas en matlab
 
Video 1 metodos y arreglos
Video 1 metodos y arreglosVideo 1 metodos y arreglos
Video 1 metodos y arreglos
 
Programacion ii
Programacion iiProgramacion ii
Programacion ii
 
Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeans
 
Tap u2-componentes y librerias-programa para cifrar y descifrar cadenas
Tap u2-componentes y librerias-programa para cifrar y descifrar cadenasTap u2-componentes y librerias-programa para cifrar y descifrar cadenas
Tap u2-componentes y librerias-programa para cifrar y descifrar cadenas
 
Guia para examen java
Guia para examen javaGuia para examen java
Guia para examen java
 
Pila dinamica y pila estatica
Pila dinamica y pila estaticaPila dinamica y pila estatica
Pila dinamica y pila estatica
 
Programación en OTcl
Programación en OTclProgramación en OTcl
Programación en OTcl
 
Hechos en clase
Hechos en claseHechos en clase
Hechos en clase
 
11funciones 1231096290787715-2
11funciones 1231096290787715-211funciones 1231096290787715-2
11funciones 1231096290787715-2
 
programas
programasprogramas
programas
 
Ejemplo de aplicación cliente-servidor en C#
Ejemplo de aplicación cliente-servidor  en C#Ejemplo de aplicación cliente-servidor  en C#
Ejemplo de aplicación cliente-servidor en C#
 
Trabajo de consulta
Trabajo de consultaTrabajo de consulta
Trabajo de consulta
 
Tema 0 Repaso Programación en Java
Tema 0 Repaso Programación en JavaTema 0 Repaso Programación en Java
Tema 0 Repaso Programación en Java
 
Analizador de una matriz utilizando compiladores
Analizador de una matriz utilizando compiladoresAnalizador de una matriz utilizando compiladores
Analizador de una matriz utilizando compiladores
 

Destacado

The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...Brian Solis
 
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)maditabalnco
 
What's Next in Growth? 2016
What's Next in Growth? 2016What's Next in Growth? 2016
What's Next in Growth? 2016Andrew Chen
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsBarry Feldman
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome EconomyHelge Tennø
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your BusinessBarry Feldman
 

Destacado (7)

Awt
AwtAwt
Awt
 
The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...
 
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)
 
What's Next in Growth? 2016
What's Next in Growth? 2016What's Next in Growth? 2016
What's Next in Growth? 2016
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome Economy
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
 

Similar a Java AWT repaso

Interfaz gráfica de usuario
Interfaz gráfica de usuarioInterfaz gráfica de usuario
Interfaz gráfica de usuarioaleja0940
 
Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4Robert Wolf
 
Manejo de eventos en java
Manejo de eventos en javaManejo de eventos en java
Manejo de eventos en javaaleja09_40
 
Interfaces Usuario 3
Interfaces Usuario 3Interfaces Usuario 3
Interfaces Usuario 3Milaly
 
Gu is awt_swing
Gu is awt_swingGu is awt_swing
Gu is awt_swingLCA
 
Formatos tutoria laboratorio
Formatos tutoria laboratorioFormatos tutoria laboratorio
Formatos tutoria laboratorioJeffersonVega16
 
AWT- JAVA
AWT- JAVAAWT- JAVA
AWT- JAVAale8819
 
abstract window tool kit
abstract window tool kitabstract window tool kit
abstract window tool kitjent46
 
Entorno grafico en Java
Entorno grafico en JavaEntorno grafico en Java
Entorno grafico en JavaRonny Parra
 
Entorno gráfico en Java
Entorno gráfico en JavaEntorno gráfico en Java
Entorno gráfico en JavaRonny Parra
 
Metodo constructor de una clase JAVA
Metodo constructor de una clase JAVAMetodo constructor de una clase JAVA
Metodo constructor de una clase JAVAMANUEL RAMIREZ
 

Similar a Java AWT repaso (20)

Interfaz gráfica de usuario
Interfaz gráfica de usuarioInterfaz gráfica de usuario
Interfaz gráfica de usuario
 
Vbr Awt 01
Vbr Awt 01Vbr Awt 01
Vbr Awt 01
 
Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4
 
Eventos
EventosEventos
Eventos
 
Manejo de eventos en java
Manejo de eventos en javaManejo de eventos en java
Manejo de eventos en java
 
Programación i
Programación iProgramación i
Programación i
 
Interfaces Usuario 3
Interfaces Usuario 3Interfaces Usuario 3
Interfaces Usuario 3
 
Gu is awt_swing
Gu is awt_swingGu is awt_swing
Gu is awt_swing
 
Eventos
EventosEventos
Eventos
 
Temaswing
TemaswingTemaswing
Temaswing
 
Java tema06a
Java tema06aJava tema06a
Java tema06a
 
Interfaces graficas(1)
Interfaces graficas(1)Interfaces graficas(1)
Interfaces graficas(1)
 
Semana 5 Java Swing
Semana 5   Java SwingSemana 5   Java Swing
Semana 5 Java Swing
 
Formatos tutoria laboratorio
Formatos tutoria laboratorioFormatos tutoria laboratorio
Formatos tutoria laboratorio
 
AWT- JAVA
AWT- JAVAAWT- JAVA
AWT- JAVA
 
abstract window tool kit
abstract window tool kitabstract window tool kit
abstract window tool kit
 
Entorno grafico en Java
Entorno grafico en JavaEntorno grafico en Java
Entorno grafico en Java
 
Entorno gráfico en Java
Entorno gráfico en JavaEntorno gráfico en Java
Entorno gráfico en Java
 
Swin01
Swin01Swin01
Swin01
 
Metodo constructor de una clase JAVA
Metodo constructor de una clase JAVAMetodo constructor de una clase JAVA
Metodo constructor de una clase JAVA
 

Java AWT repaso

  • 1. 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
  • 2. 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. 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(); } } 2
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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(); } } 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
  • 7. 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
  • 8. 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 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()); } } 8
  • 9. 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 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); } } } 9
  • 10. import java.lang.*; Canvas 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) {} } } 10