SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Curso Básico de Java Facilitador: Prof. Bassam Asfur Republica Bolivariana de Venezuela Área de Computación
EL AWT (ABSTRACT WINDOWS TOOLKIT) El AWT (Abstract Windows Toolkit) es la parte de  Java que se ocupa de construir interfaces  gráficas de usuario. Aunque el AWT ha estado presente en  Java desde la versión 1.0, la versión 1.1  representó un cambio notable, sobre todo en lo que respecta al  modelo de eventos.  La versión 1.2 ha  incorporado un modelo distinto de componentes llamado  Swing, que también está disponible en la  versión 1.1 como package adicional. La estructura básica del AWT se basa en  Componentes  y  Contenedores . Estos últimos contienen Componentes posicionados a su respecto y son Componentes a su vez, de forma que los eventos pueden tratarse tanto en Contenedores como en Componentes.
Creación de una Interface Gráfica de Usuario ,[object Object],[object Object],[object Object]
COMPONENTES Y CONTENEDORES Los Componentes permiten al usuario interactuar con la aplicación y proporcionar información desde el programa al usuario sobre el estado del programa. En el AWT, todos los Componentes de la interface de usuario son instancias de la clase  Component  o uno de sus subtipos. Los Componentes no se encuentran aislados, sino agrupados dentro de  Contenedores . Los Contenedores contienen y organizan la situación de los Componentes; además, los Contenedores son en sí mismos Componentes y como tales pueden ser situados dentro de otros Contenedores.
Jerarquía de Componentes
import java.awt.*; public class EjemploAWT extends Frame{ static final int HOR_TAMANO = 300; static final int VER_TAMANO = 200; public EjemploAWT(){ super( "Aplicación Java con AWT" ); pack(); resize(HOR_TAMANO,VER_TAMANO ); this.setVisible(true); } public static void main( String args[] ) { new EjemploAWT(); } } Un Ejemplo
Introducción a Swing Además del paquete java.awt, Java pone a disposición del programador el paquete javax.swing para crear unas interfaces gráficas.
El paquete Swing es parte de la JFC (Java Foundation Classes) en la plataforma Java. La JFC provee facilidades para ayudar a la gente a construir GUIs. Swing abarca componentes como botones, tablas, marcos, etc...  Las componentes Swing se identifican porque pertenecen al paquete  javax.swing .  Swing existe desde la JDK 1.1 (como un agregado). Antes de la existencia de Swing, las interfaces gráficas con el usuario se realizaban a través de AWT (Abstract Window Toolkit), de quien Swing hereda todo el manejo de eventos.  Usualmente, para toda componente AWT existe una componente Swing que la reemplaza, por ejemplo, la clase Button de AWT es reemplazada por la clase JButton de Swing (el nombre de todas las componentes Swing comienza con "J").  Introducción a Swing
Los layout managers o manejadores de composición, en traducción literal, ayudan a adaptar los diversos Componentes que se desean incorporar a un  Panel , es decir, especifican la apariencia que tendrán los Componentes a la hora de colocarlos sobre un Contenedor, controlando tamaño y posición (layout) automáticamente.  Manejadores de composición
FlowLayout Es el más simple y el que se utiliza por defecto en todos los Paneles si no se fuerza el uso de alguno de los otros. Los Componentes añadidos a un  Panel  con  FlowLayout  se encadenan en forma de lista. La cadena es horizontal, de izquierda a derecha, y se puede seleccionar el espaciado entre cada Componente. Manejadores de composición BorderLayout La composición  BorderLayout  (de borde) proporciona un esquema más complejo de colocación de los Componentes en un panel. La composición utiliza cinco zonas para colocar los Componentes sobre ellas: Norte, Sur, Este, Oeste y Centro. Es el layout o composición que se utilizan por defecto  Frame  y  Dialog .
GridLayout La composición GridLayout proporciona gran flexibilidad para situar Componentes. El controlador de posicionamiento se crea con un determinado número de filas y columnas y los Componentes van dentro de las celdas de la tabla así definida.  Layout Null Cuan no se quiere utilizar los manejadores por defecto que trae Java se inhabilita los Layout  a  través del Set Layout de la siguiente forma:  setLayout(null); y posteriormente se usa el método setBounds Manejadores de composición
import java.awt.*; import java.awt.event.*; public class Ejemplo extends Frame { public Ejemplo(){ initComponents(); } private void initComponents() { Button boton = new Button(); setLayout(null); boton.setLabel("Un Boton"); boton.setBounds(15, 80, 100,50); add(boton); this.setSize(500, 300); this.setVisible(true); } public static void main(String args[]){ Ejemplo demo=new Ejemplo(); } } Ejemplo del setBounds
Modelo de eventos Los objetos sobre los que se producen los eventos (event sources) registran los objetos que habrán de gestionarlos (event listeners) Los event listeners habrán de disponer de los  métodos adecuados, que serán llamados automáticamente cuando se produzca el evento  Para que los event listeners dispongan de los métodos adecuados para gestionar los eventos, se les obliga a implementar una determinada interface  Listener Interfaces  Listener : se corresponden con los tipos de eventos que se pueden producir Gestión de Eventos
Eventos de alto nivel ActionEvent: Pulzar sobre botones o elegir comandos en menús AdjustmentEvent: Cambiar valores en barras de desplazamiento ItemEvent: Elegir valores TextEvent: Cambiar el texto Alto Nivel Bajo  Nivel Tipos de Eventos
Eventos de bajo nivel ComponentEvent: Mover, cambiar tamaño, mostrar u ocultar un componente ContainerEvent: Añadir o eliminar un componente del container KeyEvent: Pulsar o soltar una tecla MouseEvent: Mover, arrastrar, pulsar y soltar con el ratón FocusEvent: Obtener o perder el focus WindowEvent: Acciones sobre una ventana Tipos de Eventos
Gestión de Eventos Componente evento Significado Button ActionEvent Pulsar el botón CheckBox ItemEvent Seleccionar o deseleccionar un item Choice ItemEvent Seleccionar o deseleccionar un item Component ComponentEvent Mover, cambiar, mostrar u ocultar un componente FocusEvent Obtener o perder Focus KeyEvent Pulsar o soltar tecla MouseEvent Mover, arrastrar, pulsar el ratón Container ContainerEvent Añadir o eliminar un componente de un contenedor
Gestión de Eventos Componente evento Significado List ActionEvent Hacer Doble Click sobre un ítem ItemEvent Seleccionar o deseleccionar un ítem MenuItem ActionEvent Seleccionar un ítem del menú Scrollbar AdjustmentEvent Cambiar el valor del Scrollbar TextComponent TextEvent Cambiar el texto Textfield ActionEvent Terminar de editar un texto pulsando Enter Window WindowEvent Abrir, cerrar, minimizar una ventana
Interfaces Listener y eventos Evento Interface Listener Método Listener ActionEvent ActionListener actionPerformed() AdjustmentEvent AdjusmentListener adjustmentValueChanged() ComponentEvent ComponentListener componentHidden() componentMoved() componentResized() componentShown() ContainerEvent ContainerListener componentAdded() componentRemoved() FocusEvent FocusListener focusGained((), focusLost() ItemEvent ItemListener itemStateChanged
Interfaces Listener y eventos Evento Interface Listener Método Listener KeyEvent KeyListener KeyPressed(), KeyReleased KeyTyped() MouseEvent MouseListener mouseClicked(), mouseEntered(), mouseExited(), mousePressed(), mouseReleased() MouseMotionListener mouseDragged(), mouseMoved() TextEvent TextListener textValueChanged() WindowEvent WindowListener windowActivated(), windowDeactivate(); windowClosed(); windowClosing(); windowIconified(); windowDeiconified(); windowOpened();

Weitere ähnliche Inhalte

Was ist angesagt?

Introducción a Swing
Introducción a SwingIntroducción a Swing
Introducción a Swingmrojas_unitec
 
Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)Omar B.
 
Java GUI La librería Swing
Java GUI La librería Swing Java GUI La librería Swing
Java GUI La librería Swing Laura
 
Guis en java-1pp_2012_
Guis en java-1pp_2012_Guis en java-1pp_2012_
Guis en java-1pp_2012_Robert Wolf
 
Programación III (Java) - 06 Ventanas
Programación III (Java) - 06 VentanasProgramación III (Java) - 06 Ventanas
Programación III (Java) - 06 VentanasAndoni Eguíluz Morán
 
Java - Tutorial Ventanas
Java - Tutorial VentanasJava - Tutorial Ventanas
Java - Tutorial Ventanaselsemieni
 
Guia practica funciones en java con NetBeans
Guia practica funciones en java con NetBeansGuia practica funciones en java con NetBeans
Guia practica funciones en java con NetBeansEmerson Garay
 
Swing
SwingSwing
SwingEPN
 
Trabajo teórico exposcición
Trabajo teórico exposciciónTrabajo teórico exposcición
Trabajo teórico exposciciónAndy Bsc
 
Layouts - Java
Layouts - JavaLayouts - Java
Layouts - Javanjca01
 
Interfaces de usuario con awt
Interfaces de usuario con awtInterfaces de usuario con awt
Interfaces de usuario con awtFlashnet S.A
 

Was ist angesagt? (19)

Introducción a Swing
Introducción a SwingIntroducción a Swing
Introducción a Swing
 
Programacion en JAVA 2
Programacion en JAVA 2Programacion en JAVA 2
Programacion en JAVA 2
 
Java
JavaJava
Java
 
Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)
 
Java GUI La librería Swing
Java GUI La librería Swing Java GUI La librería Swing
Java GUI La librería Swing
 
Guis en java-1pp_2012_
Guis en java-1pp_2012_Guis en java-1pp_2012_
Guis en java-1pp_2012_
 
Programación III (Java) - 06 Ventanas
Programación III (Java) - 06 VentanasProgramación III (Java) - 06 Ventanas
Programación III (Java) - 06 Ventanas
 
Java - Tutorial Ventanas
Java - Tutorial VentanasJava - Tutorial Ventanas
Java - Tutorial Ventanas
 
Guia practica funciones en java con NetBeans
Guia practica funciones en java con NetBeansGuia practica funciones en java con NetBeans
Guia practica funciones en java con NetBeans
 
Decorator
DecoratorDecorator
Decorator
 
Sesion12-Componentes AWT
Sesion12-Componentes AWTSesion12-Componentes AWT
Sesion12-Componentes AWT
 
Swing
SwingSwing
Swing
 
Trabajo teórico exposcición
Trabajo teórico exposciciónTrabajo teórico exposcición
Trabajo teórico exposcición
 
Clase swing
Clase swingClase swing
Clase swing
 
interfaz grafica
interfaz graficainterfaz grafica
interfaz grafica
 
Elementos Swing
Elementos SwingElementos Swing
Elementos Swing
 
Layouts - Java
Layouts - JavaLayouts - Java
Layouts - Java
 
Sesion12-componentes Visuales java
Sesion12-componentes Visuales javaSesion12-componentes Visuales java
Sesion12-componentes Visuales java
 
Interfaces de usuario con awt
Interfaces de usuario con awtInterfaces de usuario con awt
Interfaces de usuario con awt
 

Andere mochten auch (20)

Clase n°1 java
Clase n°1 javaClase n°1 java
Clase n°1 java
 
Fundamentos de Java
Fundamentos de JavaFundamentos de Java
Fundamentos de Java
 
Pedacito de amigo
Pedacito de amigoPedacito de amigo
Pedacito de amigo
 
07 Javabeans
07   Javabeans07   Javabeans
07 Javabeans
 
Java básico
Java  básicoJava  básico
Java básico
 
Manual de java
Manual de javaManual de java
Manual de java
 
MANUAL DE JAVA 2
MANUAL DE JAVA 2MANUAL DE JAVA 2
MANUAL DE JAVA 2
 
Manual java
Manual javaManual java
Manual java
 
Calse 3 JAVA 2012
Calse 3 JAVA 2012Calse 3 JAVA 2012
Calse 3 JAVA 2012
 
Manual instalacion java y java c
Manual instalacion java y java cManual instalacion java y java c
Manual instalacion java y java c
 
super java
super javasuper java
super java
 
Clase 4 JAVA 2012
Clase 4 JAVA 2012Clase 4 JAVA 2012
Clase 4 JAVA 2012
 
Java Basico Platzi
Java Basico PlatziJava Basico Platzi
Java Basico Platzi
 
Java - Básico
Java - BásicoJava - Básico
Java - Básico
 
Java basico
Java basicoJava basico
Java basico
 
Rubrica de evaluación
Rubrica de evaluaciónRubrica de evaluación
Rubrica de evaluación
 
LA AMISTAD
LA AMISTADLA AMISTAD
LA AMISTAD
 
Manual de codificación de clases básicas en java
Manual de codificación de clases básicas en javaManual de codificación de clases básicas en java
Manual de codificación de clases básicas en java
 
Eventos y listeners en Java Swing
Eventos y listeners en Java SwingEventos y listeners en Java Swing
Eventos y listeners en Java Swing
 
Java netbeans-clase-001
Java netbeans-clase-001Java netbeans-clase-001
Java netbeans-clase-001
 

Ähnlich wie Clase 5 JAVA 2012 (20)

Java 120706083911-phpapp01
Java 120706083911-phpapp01Java 120706083911-phpapp01
Java 120706083911-phpapp01
 
Miswing 110511215936-phpapp01
Miswing 110511215936-phpapp01Miswing 110511215936-phpapp01
Miswing 110511215936-phpapp01
 
Eventos
EventosEventos
Eventos
 
Jfc java
Jfc javaJfc java
Jfc java
 
Modelo proyecto
Modelo proyectoModelo proyecto
Modelo proyecto
 
Swing, awt y JOptionPane de java
Swing, awt y JOptionPane de java Swing, awt y JOptionPane de java
Swing, awt y JOptionPane de java
 
Presentacion de dictar clase de gui
Presentacion de dictar clase de guiPresentacion de dictar clase de gui
Presentacion de dictar clase de gui
 
Clase event
Clase eventClase event
Clase event
 
Taller 1 7
Taller 1 7Taller 1 7
Taller 1 7
 
Eventos, Topicos Avanzados de Programacion
Eventos, Topicos Avanzados de Programacion Eventos, Topicos Avanzados de Programacion
Eventos, Topicos Avanzados de Programacion
 
03 interfaces gráficas awt
03   interfaces gráficas awt03   interfaces gráficas awt
03 interfaces gráficas awt
 
Clase swing java
Clase swing javaClase swing java
Clase swing java
 
Vbr Awt 01
Vbr Awt 01Vbr Awt 01
Vbr Awt 01
 
Swin01
Swin01Swin01
Swin01
 
Flow layout
Flow layoutFlow layout
Flow layout
 
Programación i
Programación iProgramación i
Programación i
 
JAVA Interfaz gráfica (GUI)
JAVA Interfaz gráfica (GUI)JAVA Interfaz gráfica (GUI)
JAVA Interfaz gráfica (GUI)
 
Controles swing
Controles swingControles swing
Controles swing
 
Java swing
Java swingJava swing
Java swing
 
Layout
LayoutLayout
Layout
 

Mehr von José Braganza

Mehr von José Braganza (12)

Sesion n°1 estructura de datos
Sesion n°1 estructura de datosSesion n°1 estructura de datos
Sesion n°1 estructura de datos
 
Preguntas frecuentes sobre el servicio comunitario
Preguntas frecuentes sobre el servicio comunitarioPreguntas frecuentes sobre el servicio comunitario
Preguntas frecuentes sobre el servicio comunitario
 
Lamsem10
Lamsem10Lamsem10
Lamsem10
 
Lamsem9
Lamsem9Lamsem9
Lamsem9
 
Lamsem5
Lamsem5Lamsem5
Lamsem5
 
Lamsem4
Lamsem4Lamsem4
Lamsem4
 
Lamsem1
Lamsem1Lamsem1
Lamsem1
 
Lamina de semana 11 12
Lamina de semana 11 12Lamina de semana 11 12
Lamina de semana 11 12
 
Clase 4 java 2011
Clase 4 java 2011Clase 4 java 2011
Clase 4 java 2011
 
Clase 1 jJAVA 2012
Clase 1 jJAVA 2012Clase 1 jJAVA 2012
Clase 1 jJAVA 2012
 
Clase 2 JAVA 2012
Clase 2 JAVA 2012Clase 2 JAVA 2012
Clase 2 JAVA 2012
 
Semana 2 de Comportamiento Organizacional
Semana 2 de Comportamiento OrganizacionalSemana 2 de Comportamiento Organizacional
Semana 2 de Comportamiento Organizacional
 

Kürzlich hochgeladen

PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptxPRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptxcarlosdaniellujandel1
 
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdfPROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdfrgsteveo32
 
presentacion norma240201056induccion.pdf
presentacion norma240201056induccion.pdfpresentacion norma240201056induccion.pdf
presentacion norma240201056induccion.pdfIsabelSena13
 
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdfUNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdfARACELIGINESZARATE1
 
Banco central de Reserva del Perú...,.....
Banco central de Reserva del Perú...,.....Banco central de Reserva del Perú...,.....
Banco central de Reserva del Perú...,.....MAICKELSANCHEZ2
 
Explora el boletín de 17 de abril de 2024
Explora el boletín de 17 de abril de 2024Explora el boletín de 17 de abril de 2024
Explora el boletín de 17 de abril de 2024Yes Europa
 
Material modulo para AFP integra en diapositivas
Material modulo para AFP integra en diapositivasMaterial modulo para AFP integra en diapositivas
Material modulo para AFP integra en diapositivasErnesto840942
 
Cirugía Oral…………………………………………………..……..pdf
Cirugía Oral…………………………………………………..……..pdfCirugía Oral…………………………………………………..……..pdf
Cirugía Oral…………………………………………………..……..pdfginpao14
 
UA 2 - Uniformes del Ejercito.pdfasfdasfa
UA 2 - Uniformes del Ejercito.pdfasfdasfaUA 2 - Uniformes del Ejercito.pdfasfdasfa
UA 2 - Uniformes del Ejercito.pdfasfdasfaRODRIGOGAVINOAVILAGA
 
TALLERorientacion_herramientas de orientacion laboral.ppt
TALLERorientacion_herramientas de orientacion laboral.pptTALLERorientacion_herramientas de orientacion laboral.ppt
TALLERorientacion_herramientas de orientacion laboral.pptxico33a
 
Descubre el boletín del 12 de Abril de 2024
Descubre el boletín del 12 de Abril de 2024Descubre el boletín del 12 de Abril de 2024
Descubre el boletín del 12 de Abril de 2024Yes Europa
 

Kürzlich hochgeladen (11)

PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptxPRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
 
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdfPROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
 
presentacion norma240201056induccion.pdf
presentacion norma240201056induccion.pdfpresentacion norma240201056induccion.pdf
presentacion norma240201056induccion.pdf
 
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdfUNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
 
Banco central de Reserva del Perú...,.....
Banco central de Reserva del Perú...,.....Banco central de Reserva del Perú...,.....
Banco central de Reserva del Perú...,.....
 
Explora el boletín de 17 de abril de 2024
Explora el boletín de 17 de abril de 2024Explora el boletín de 17 de abril de 2024
Explora el boletín de 17 de abril de 2024
 
Material modulo para AFP integra en diapositivas
Material modulo para AFP integra en diapositivasMaterial modulo para AFP integra en diapositivas
Material modulo para AFP integra en diapositivas
 
Cirugía Oral…………………………………………………..……..pdf
Cirugía Oral…………………………………………………..……..pdfCirugía Oral…………………………………………………..……..pdf
Cirugía Oral…………………………………………………..……..pdf
 
UA 2 - Uniformes del Ejercito.pdfasfdasfa
UA 2 - Uniformes del Ejercito.pdfasfdasfaUA 2 - Uniformes del Ejercito.pdfasfdasfa
UA 2 - Uniformes del Ejercito.pdfasfdasfa
 
TALLERorientacion_herramientas de orientacion laboral.ppt
TALLERorientacion_herramientas de orientacion laboral.pptTALLERorientacion_herramientas de orientacion laboral.ppt
TALLERorientacion_herramientas de orientacion laboral.ppt
 
Descubre el boletín del 12 de Abril de 2024
Descubre el boletín del 12 de Abril de 2024Descubre el boletín del 12 de Abril de 2024
Descubre el boletín del 12 de Abril de 2024
 

Clase 5 JAVA 2012

  • 1. Curso Básico de Java Facilitador: Prof. Bassam Asfur Republica Bolivariana de Venezuela Área de Computación
  • 2. EL AWT (ABSTRACT WINDOWS TOOLKIT) El AWT (Abstract Windows Toolkit) es la parte de Java que se ocupa de construir interfaces gráficas de usuario. Aunque el AWT ha estado presente en Java desde la versión 1.0, la versión 1.1 representó un cambio notable, sobre todo en lo que respecta al modelo de eventos. La versión 1.2 ha incorporado un modelo distinto de componentes llamado Swing, que también está disponible en la versión 1.1 como package adicional. La estructura básica del AWT se basa en Componentes y Contenedores . Estos últimos contienen Componentes posicionados a su respecto y son Componentes a su vez, de forma que los eventos pueden tratarse tanto en Contenedores como en Componentes.
  • 3.
  • 4. COMPONENTES Y CONTENEDORES Los Componentes permiten al usuario interactuar con la aplicación y proporcionar información desde el programa al usuario sobre el estado del programa. En el AWT, todos los Componentes de la interface de usuario son instancias de la clase Component o uno de sus subtipos. Los Componentes no se encuentran aislados, sino agrupados dentro de Contenedores . Los Contenedores contienen y organizan la situación de los Componentes; además, los Contenedores son en sí mismos Componentes y como tales pueden ser situados dentro de otros Contenedores.
  • 6. import java.awt.*; public class EjemploAWT extends Frame{ static final int HOR_TAMANO = 300; static final int VER_TAMANO = 200; public EjemploAWT(){ super( "Aplicación Java con AWT" ); pack(); resize(HOR_TAMANO,VER_TAMANO ); this.setVisible(true); } public static void main( String args[] ) { new EjemploAWT(); } } Un Ejemplo
  • 7. Introducción a Swing Además del paquete java.awt, Java pone a disposición del programador el paquete javax.swing para crear unas interfaces gráficas.
  • 8. El paquete Swing es parte de la JFC (Java Foundation Classes) en la plataforma Java. La JFC provee facilidades para ayudar a la gente a construir GUIs. Swing abarca componentes como botones, tablas, marcos, etc... Las componentes Swing se identifican porque pertenecen al paquete javax.swing . Swing existe desde la JDK 1.1 (como un agregado). Antes de la existencia de Swing, las interfaces gráficas con el usuario se realizaban a través de AWT (Abstract Window Toolkit), de quien Swing hereda todo el manejo de eventos. Usualmente, para toda componente AWT existe una componente Swing que la reemplaza, por ejemplo, la clase Button de AWT es reemplazada por la clase JButton de Swing (el nombre de todas las componentes Swing comienza con "J"). Introducción a Swing
  • 9. Los layout managers o manejadores de composición, en traducción literal, ayudan a adaptar los diversos Componentes que se desean incorporar a un Panel , es decir, especifican la apariencia que tendrán los Componentes a la hora de colocarlos sobre un Contenedor, controlando tamaño y posición (layout) automáticamente. Manejadores de composición
  • 10. FlowLayout Es el más simple y el que se utiliza por defecto en todos los Paneles si no se fuerza el uso de alguno de los otros. Los Componentes añadidos a un Panel con FlowLayout se encadenan en forma de lista. La cadena es horizontal, de izquierda a derecha, y se puede seleccionar el espaciado entre cada Componente. Manejadores de composición BorderLayout La composición BorderLayout (de borde) proporciona un esquema más complejo de colocación de los Componentes en un panel. La composición utiliza cinco zonas para colocar los Componentes sobre ellas: Norte, Sur, Este, Oeste y Centro. Es el layout o composición que se utilizan por defecto Frame y Dialog .
  • 11. GridLayout La composición GridLayout proporciona gran flexibilidad para situar Componentes. El controlador de posicionamiento se crea con un determinado número de filas y columnas y los Componentes van dentro de las celdas de la tabla así definida. Layout Null Cuan no se quiere utilizar los manejadores por defecto que trae Java se inhabilita los Layout a través del Set Layout de la siguiente forma: setLayout(null); y posteriormente se usa el método setBounds Manejadores de composición
  • 12. import java.awt.*; import java.awt.event.*; public class Ejemplo extends Frame { public Ejemplo(){ initComponents(); } private void initComponents() { Button boton = new Button(); setLayout(null); boton.setLabel("Un Boton"); boton.setBounds(15, 80, 100,50); add(boton); this.setSize(500, 300); this.setVisible(true); } public static void main(String args[]){ Ejemplo demo=new Ejemplo(); } } Ejemplo del setBounds
  • 13. Modelo de eventos Los objetos sobre los que se producen los eventos (event sources) registran los objetos que habrán de gestionarlos (event listeners) Los event listeners habrán de disponer de los métodos adecuados, que serán llamados automáticamente cuando se produzca el evento Para que los event listeners dispongan de los métodos adecuados para gestionar los eventos, se les obliga a implementar una determinada interface Listener Interfaces Listener : se corresponden con los tipos de eventos que se pueden producir Gestión de Eventos
  • 14. Eventos de alto nivel ActionEvent: Pulzar sobre botones o elegir comandos en menús AdjustmentEvent: Cambiar valores en barras de desplazamiento ItemEvent: Elegir valores TextEvent: Cambiar el texto Alto Nivel Bajo Nivel Tipos de Eventos
  • 15. Eventos de bajo nivel ComponentEvent: Mover, cambiar tamaño, mostrar u ocultar un componente ContainerEvent: Añadir o eliminar un componente del container KeyEvent: Pulsar o soltar una tecla MouseEvent: Mover, arrastrar, pulsar y soltar con el ratón FocusEvent: Obtener o perder el focus WindowEvent: Acciones sobre una ventana Tipos de Eventos
  • 16. Gestión de Eventos Componente evento Significado Button ActionEvent Pulsar el botón CheckBox ItemEvent Seleccionar o deseleccionar un item Choice ItemEvent Seleccionar o deseleccionar un item Component ComponentEvent Mover, cambiar, mostrar u ocultar un componente FocusEvent Obtener o perder Focus KeyEvent Pulsar o soltar tecla MouseEvent Mover, arrastrar, pulsar el ratón Container ContainerEvent Añadir o eliminar un componente de un contenedor
  • 17. Gestión de Eventos Componente evento Significado List ActionEvent Hacer Doble Click sobre un ítem ItemEvent Seleccionar o deseleccionar un ítem MenuItem ActionEvent Seleccionar un ítem del menú Scrollbar AdjustmentEvent Cambiar el valor del Scrollbar TextComponent TextEvent Cambiar el texto Textfield ActionEvent Terminar de editar un texto pulsando Enter Window WindowEvent Abrir, cerrar, minimizar una ventana
  • 18. Interfaces Listener y eventos Evento Interface Listener Método Listener ActionEvent ActionListener actionPerformed() AdjustmentEvent AdjusmentListener adjustmentValueChanged() ComponentEvent ComponentListener componentHidden() componentMoved() componentResized() componentShown() ContainerEvent ContainerListener componentAdded() componentRemoved() FocusEvent FocusListener focusGained((), focusLost() ItemEvent ItemListener itemStateChanged
  • 19. Interfaces Listener y eventos Evento Interface Listener Método Listener KeyEvent KeyListener KeyPressed(), KeyReleased KeyTyped() MouseEvent MouseListener mouseClicked(), mouseEntered(), mouseExited(), mousePressed(), mouseReleased() MouseMotionListener mouseDragged(), mouseMoved() TextEvent TextListener textValueChanged() WindowEvent WindowListener windowActivated(), windowDeactivate(); windowClosed(); windowClosing(); windowIconified(); windowDeiconified(); windowOpened();