SlideShare ist ein Scribd-Unternehmen logo
1 von 28
6. Ventanas
             La librería AWT
             Componentes y Contenedores
             Componentes
             Contenedores
             Creación de ventanas personalizadas
             Layouts
             Un ejemplo que integra todo
             Swing
Programación III                 Tema 6 - Ventanas
La librería AWT

   • ¿Qué es AWT?
           – Librería que define un conjunto de clases e
             interfaces Java que permiten la construcción de
             interfaces gráficas de usuario
                   – También permite la gestión de los eventos generados por
                     esas interfaces  Tema 7
           – Como Java es multiplataforma, AWT es (Abstract
             Window Toolkit) independiente de plataforma.
   • Dos elementos básicos:
           – Contenedores (Clase java.awt.Container)
           – Componentes (Clase java.awt.Component)
Programación III                        Tema 6 - Ventanas
Componentes y Contenedores
                              (1/4)
   • ¿Qué es un Contenedor?
           – Es un componente o elemento gráfico que puede
             contener otros componentes dentro.
           – Lo son todas las clases que derivan de
             java.awt.Container
           – Ejemplos:
                   • Ventana (java.awt.Frame)
                   • Dialogo (java.awt.Dialog)
                   • Panel (java.awt.Panel)




Programación III                        Tema 6 - Ventanas
Componentes y Contenedores
                              (2/4)
   • ¿Qué es un Componente?
           – Cualquier elemento gráfico que puede aparecer
             en una GUI
           – Lo son todas las clases que derivan de
             java.awt.Component
           – Ejemplos:
                   • Botones (java.awt.Button), Campos de Texto
                     (java.awt.TextField), Etiquetas (java.awt.Label), Listas
                     (java.awt.List), Elementos de Selección Múltiple y
                     Exclusiva (java.awt.Checkbox),...



Programación III                          Tema 6 - Ventanas
Componentes y Contenedores
                             (3/4)
   • Jerarquía AWT (simplificada)
                                              Component




             TextField   .....   Button       Container              Label      .....   List




                                      Panel                        Window




                                                    Dialog                   Frame


Programación III                               Tema 6 - Ventanas
Componentes y Contenedores
                             (4/4)
   • ¡Un Contenedor es también un
     Componente!
           – Esto permite que un contenedor puede contener
             dentro a otros contenedores (ya que también
             son componentes)




Programación III                Tema 6 - Ventanas
Componentes (1/5)

   • ¿Cómo se crean los componentes? ¿Cómo se
     crean los botones, las listas, los campos de
     texto, las etiquetas,...?
                   • Los componentes son clases java y la mayoría están a
                     partir el paquete java.awt


                   Button boton = new Button();
                   Label etiqueta = new Label();
                   TextField campoTexto = new TextField();




Programación III                        Tema 6 - Ventanas
Componentes (2/5)
   • Constructores
           – Cada tipo de componente tiene distintos tipos de
             constructores
           – Ejemplo  Componente TextField
                   • Campo de texto con tamaño por defecto y en blanco
                     TextField c = new TextField();
                   • Campo de texto inicializado con un texto
                     TextField c = new TextField(“Hola a todos”);
                   • Campo de texto con tamaño 20 (tiene espacio para 20
                     caracteres)
                     TextField c = new TextField(20);
                   • Campo de texto con tamaño 20 e inicializado con un texto
                     TextField c = new TextField(“Hola”, 20);


Programación III                           Tema 6 - Ventanas
Componentes (3/5)
           – Ejemplo  Label
                   • Etiqueta sin texto
                         Label etiq = new Label();
                   • Etiquetas con un determinado texto
                         Label etiq = new Label(“Apellido:”);
                   • Etiqueta con un determinado texto y una determinada
                     propiedad
                         Label etiq = new Label(“Edad:”,
                                           Label.CENTER);




Programación III                       Tema 6 - Ventanas
Componentes (4/5)

   • Métodos más Comunes
           – Los componentes, como todos los objetos,
             proporcionan métodos que permiten manipular
             sus propiedades.
           – Ejemplos:
                   • Modificación de la etiqueta de un botón
                     boton.setLabel(“Aceptar”);
                   • Consulta del texto de un campo de texto
                     campo.getText();
                   • Modificación del texto de una etiqueta
                     etiqueta.setText();

Programación III                        Tema 6 - Ventanas
Componentes (5/5)
                   • Modificación del tamaño de una caja de texto
                          campo.setColumns(30);
                   • Inserción y consulta de elementos en una lista
                          lista.add(“Item1”);
                          lista.add(“Item2”);
                          lista.getItem(2);
                   • Hacer visible e invisible un botón
                          boton.setVisible(false);
                   • Activar o desactivar un botón
                   boton.setEnabled(true);
           – Más de información sobre componentes  API
Programación III                         Tema 6 - Ventanas
Contenedores (1/4)
   • Tipos de Contenedores
           – Frame
                   • La ventana tradicional de Windows (u otro S.O. de
                     ventanas)
           – Dialog
                   • Ventana (generalmente en forma modal) que sirve
                     para lanzar preguntas o advertencias al usuario.
                     Depende de un Frame principal y no admite
                     elementos como menús, barras de herramientas,...




Programación III                        Tema 6 - Ventanas
Contenedores (2/4)
           – Panel
                   • Contenedor (generalmente invisible) que permite agrupar y
                     organizar los elementos de una ventana. Siempre se encuentra
                     insertado dentro de un Frame. Muy útil.
   • ¿Cómo se crean los contenedores? ¿Cómo se crean
     las ventanas, los diálogos, los paneles,...?
               Frame f = new Frame();
               Panel p = new Panel();
   • Cómo se añaden componentes a un contenedor?
           Mediante el método add( )
                    <contenedor>.add(<componente>)


Programación III                            Tema 6 - Ventanas
Contenedores (3/4)
           – Ejemplos:
                   • Inserción de dos botones y dos campos de texto en una ventana
                            Frame ventana =            new Frame();
                            ventana.add(new            Button(“Aceptar”));
                            ventana.add(new            Button(“Cancelar”));
                            ventana.add(new            TextField(20));
                            ventana.add(new            TextField(30));
                   • Inserción de una etiqueta, una lista y un botón en un panel
                            Panel panel =         new Panel();
                            panel.add(new         Label(“Soy una etiqueta”));
                            panel.add(new         List());
                            panel.add(new         Button(“Ok”));
                   • Inserción de un panel dentro de una ventana
                            ventana.add(panel);




Programación III                                Tema 6 - Ventanas
Contenedores (4/4)

   • Algunos métodos de los contenedores
           – Asignación de título y tamaño a una ventana
                   ventana.setTitle(
                         “Titulo de la Ventana”);
                   ventana.setSize(300,200);
           – Asignación de color de fondo a un panel
                   panel.setBackground(Color.blue);
           – Mas métodos  API




Programación III                 Tema 6 - Ventanas
Creación de ventanas
                          personalizadas(1/2)
   • Normalmente no se trabaja con las ventanas
     por defecto que trae Java (clase
     java.awt.Frame)
   • Lo que se hace es crear nuestras propias
     ventanas y configurarlas a nuestro gusto
   • Para ello:
           – Se crea una clase y se la hace derivar de la clase
             Frame
                   • Con esto creamos una clase que es una ventana pero
                     que está vacía.
           – Se le añaden todos los elementos (componentes)
             que queramos que tenga nuestra ventana
Programación III                       Tema 6 - Ventanas
Creación de ventanas
                        personalizadas(2/2)
   • Ejemplo:
           – Ventana que posee un panel, dos etiquetas, un
             campo de texto, un área de texto y dos botones
           – Este código daría lugar a la siguiente ventana:



                   Ejemplo




Programación III                 Tema 6 - Ventanas
Layouts (1/5)
   • Al insertar un elemento dentro de un contenedor...
           – ¿Cómo podemos controlar en qué posición se va a situar
             ese elemento en el contenedor?
           – En el ejemplo anterior ¿Por qué los botones se situaban
             en la parte de abajo? ¿Y por qué el campo de texto se
             coloca arriba?
   • Para controlar la disposición de los componentes
     dentro de un contenedor Java proporciona los
     Layouts
           – Los Layouts, como todo en Java, son objetos
           – Todo contenedor debe tener asignado un layout
           – Para asignar un Layout determinado a un contenedor:

         <contenedor>.setLayout(<layout>)

Programación III                   Tema 6 - Ventanas
Layouts (2/5)

   • Tipos de Layouts
           – FlowLayout
                   • Sitúa los elementos uno detrás de otro, de izquierda a
                     derecha y de arriba a abajo.
                   • Es el layout por defecto de los paneles
                   • Ejemplo:


                       Ejemplo




Programación III                         Tema 6 - Ventanas
Layouts (3/5)
           – BorderLayout
                   • Sitúa los elementos en una de estas 5 orientaciones:
                     Norte, Sur, Este, Oeste y Centro
                   • Es el layout por defecto de los Frames
                   • Ejemplo:



                       Ejemplo




Programación III                         Tema 6 - Ventanas
Layouts (4/5)
           – GridLayout
                   • Divide el contenedor en un determinado número de
                     celdas (de idéntico tamaño y dispuestas en forma de
                     filas y columnas) y sitúa cada elemento en una de esas
                     celdas




                       Ejemplo




Programación III                         Tema 6 - Ventanas
Layouts (5/5)


           – GridBagLayout
                   • Divide el contenedor en celdas (como el GridLayout)
                     pero sin necesidad de que éstas tengan que ser del
                     mismo tamaño.
           – CardLayout
                   • Gestiona un conjunto de tarjetas (un grupo de
                     componentes) de forma que en cada momento sólo
                     una de las tarjetas es visible.




Programación III                        Tema 6 - Ventanas
Un ejemplo integrando todo
                               (1/2)
   • El objetivo es construir una interfaz como la
     siguiente:



                   Ejemplo




Programación III                 Tema 6 - Ventanas
Un ejemplo integrando
                         todo(2/2)
   • La distribución interna de los elementos es la
     siguiente:                                                   X
                                                                                     Etiqueta de
                                 panelNorte (FlowLayout)                              Cabecera




                                                                                   panelIzquierdo        PanelDerecho
                           panelCentral (GridLayout(1,2))
                                                                                    (FlowLayout)        (GridLayout (2,1))




                                 panelSur (FlowLayout)



                                    VentanaEjemplo                 Campos de
                                                                                               panelArriba         La Lista
                                     (BorderLayout)              texto y el area              (FlowLayout)
                        Dos                                         de texto
                       Botones
                                                                                               panelAbajo
                                                                   Los                        (FlowLayout)
                                                                 Checkbox




Programación III                             Tema 6 - Ventanas
Swing (1/4)
   • Librería que es versión mejorada de AWT
           – Soluciona algunos problemas de AWT
           – Mejora el aspecto de las interfaces (uniformidad,
             todo es Java)
           – Mejora la portabilidad de las aplicaciones
             gráficas
   • ¿Qué aporta Swing? ¿En qué se diferencia de
     AWT?
           – Incorpora nuevas versiones de todos los
             componentes de AWT
                   • JFrame, JButton, JLabel, JList, JPanel, JTextbox,
                     JTextArea,...
Programación III                         Tema 6 - Ventanas
Swing (2/4)
           – Cada ventana (JFrame) posee un elemento interno que
             es sobre el que se añaden los componentes y no sobre la
             propia ventana
                   • Para acceder a este panel:
                           ventana.getContentPane();
                   • Por tanto, para insertar componentes en una ventana:
                           ventana.getContentPane().add(new
                     JButton());
                           ventana.getContentPane().add(new
                     JPanel());




Programación III                            Tema 6 - Ventanas
Swing (3/4)

   • El ejemplo anterior con componentes
     SWING
           – Aspecto nuevo


                   Ejemplo




Programación III                  Tema 6 - Ventanas
Swing (4/4)

   • En Swing existe un componente llamado
     JTable que permite presentar datos en
     formato de tabla de dos dimensiones.




                       Ejemplo




Programación III         Tema 6 - Ventanas

Weitere ähnliche Inhalte

Was ist angesagt?

Introducción a Swing
Introducción a SwingIntroducción a Swing
Introducción a Swingmrojas_unitec
 
3.1.1 Representación en memoria.pptx
3.1.1 Representación en memoria.pptx3.1.1 Representación en memoria.pptx
3.1.1 Representación en memoria.pptxRam Vazquez
 
ORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOWilmer Quintero
 
JAVA GUI PART I
JAVA GUI PART IJAVA GUI PART I
JAVA GUI PART IOXUS 20
 
Estructura de Datos: Lista
Estructura de Datos: ListaEstructura de Datos: Lista
Estructura de Datos: ListaEmerson Garay
 
Tipos abstractos de datos
Tipos abstractos de datosTipos abstractos de datos
Tipos abstractos de datosJose Armando
 
Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Javaricardomore94
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y ObjetosKudos S.A.S
 
Aplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosAplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosK Manuel TN
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivasmarigelcontreras
 
DIBUJO EN JFRAME CASA
DIBUJO EN JFRAME CASADIBUJO EN JFRAME CASA
DIBUJO EN JFRAME CASAAnel Sosa
 

Was ist angesagt? (20)

Arreglos C++
Arreglos C++Arreglos C++
Arreglos C++
 
Introducción a Swing
Introducción a SwingIntroducción a Swing
Introducción a Swing
 
Pilas estáticas. IESIT
Pilas estáticas. IESITPilas estáticas. IESIT
Pilas estáticas. IESIT
 
Java Swing
Java SwingJava Swing
Java Swing
 
3.1.1 Representación en memoria.pptx
3.1.1 Representación en memoria.pptx3.1.1 Representación en memoria.pptx
3.1.1 Representación en memoria.pptx
 
Lesson 6 php if...else...elseif statements
Lesson 6   php if...else...elseif statementsLesson 6   php if...else...elseif statements
Lesson 6 php if...else...elseif statements
 
ORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIO
 
arreglos.ppt
arreglos.pptarreglos.ppt
arreglos.ppt
 
JAVA GUI PART I
JAVA GUI PART IJAVA GUI PART I
JAVA GUI PART I
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
Estructura de Datos: Lista
Estructura de Datos: ListaEstructura de Datos: Lista
Estructura de Datos: Lista
 
Menu stripe
Menu stripeMenu stripe
Menu stripe
 
Tipos abstractos de datos
Tipos abstractos de datosTipos abstractos de datos
Tipos abstractos de datos
 
Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Java
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
 
Inner classes in java
Inner classes in javaInner classes in java
Inner classes in java
 
Aplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosAplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datos
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivas
 
DIBUJO EN JFRAME CASA
DIBUJO EN JFRAME CASADIBUJO EN JFRAME CASA
DIBUJO EN JFRAME CASA
 

Andere mochten auch

Java - Tutorial Ventanas
Java - Tutorial VentanasJava - Tutorial Ventanas
Java - Tutorial Ventanaselsemieni
 
Layouts - Java
Layouts - JavaLayouts - Java
Layouts - Javanjca01
 
Patron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorPatron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorHenry Vargas
 
Gui interfaz gráfica de usuario javax.swing y java.awt
Gui interfaz gráfica  de usuario javax.swing y java.awtGui interfaz gráfica  de usuario javax.swing y java.awt
Gui interfaz gráfica de usuario javax.swing y java.awtcarlosAhumada_12
 
Calculadora Gráfica Java implementando el Patrón MVC
Calculadora Gráfica Java implementando el Patrón MVCCalculadora Gráfica Java implementando el Patrón MVC
Calculadora Gráfica Java implementando el Patrón MVCIgnacio Aular Reyes
 

Andere mochten auch (6)

Java - Tutorial Ventanas
Java - Tutorial VentanasJava - Tutorial Ventanas
Java - Tutorial Ventanas
 
Layouts - Java
Layouts - JavaLayouts - Java
Layouts - Java
 
Patron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorPatron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista Controlador
 
Herramientas Java
Herramientas JavaHerramientas Java
Herramientas Java
 
Gui interfaz gráfica de usuario javax.swing y java.awt
Gui interfaz gráfica  de usuario javax.swing y java.awtGui interfaz gráfica  de usuario javax.swing y java.awt
Gui interfaz gráfica de usuario javax.swing y java.awt
 
Calculadora Gráfica Java implementando el Patrón MVC
Calculadora Gráfica Java implementando el Patrón MVCCalculadora Gráfica Java implementando el Patrón MVC
Calculadora Gráfica Java implementando el Patrón MVC
 

Ähnlich wie Programación III (Java) - 06 Ventanas

Ähnlich wie Programación III (Java) - 06 Ventanas (20)

Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
 
Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
 
Vbr Awt 01
Vbr Awt 01Vbr Awt 01
Vbr Awt 01
 
Visual 0.6
Visual  0.6Visual  0.6
Visual 0.6
 
Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
 
Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
 
Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
10 tipos de herramientas
10 tipos de herramientas10 tipos de herramientas
10 tipos de herramientas
 
Practicas de Visual Basic 6
Practicas de Visual Basic 6Practicas de Visual Basic 6
Practicas de Visual Basic 6
 
Unidad i poo avanzada
Unidad i   poo avanzadaUnidad i   poo avanzada
Unidad i poo avanzada
 
Visual basic
Visual basicVisual basic
Visual basic
 
Controles y datos de visual basic
Controles y datos de visual basicControles y datos de visual basic
Controles y datos de visual basic
 
Labo 2
Labo 2Labo 2
Labo 2
 
Controles de Interfaz Introduccion.pdf
Controles de Interfaz Introduccion.pdfControles de Interfaz Introduccion.pdf
Controles de Interfaz Introduccion.pdf
 
Programacion_II_Interfaz_grafica_guia_I
Programacion_II_Interfaz_grafica_guia_IProgramacion_II_Interfaz_grafica_guia_I
Programacion_II_Interfaz_grafica_guia_I
 
Trabajo de programacion
Trabajo de programacionTrabajo de programacion
Trabajo de programacion
 
21158360 visual-basic
21158360 visual-basic21158360 visual-basic
21158360 visual-basic
 
21158360 visual-basic
21158360 visual-basic21158360 visual-basic
21158360 visual-basic
 
Preguntas de examen
Preguntas de examenPreguntas de examen
Preguntas de examen
 

Mehr von Andoni Eguíluz Morán

Cebek oficina fija oficina movil 2 - 201611
Cebek   oficina fija oficina movil 2 - 201611Cebek   oficina fija oficina movil 2 - 201611
Cebek oficina fija oficina movil 2 - 201611Andoni Eguíluz Morán
 
Cebek - oficina fija oficina movil 1 - 201610
Cebek - oficina fija oficina movil 1 - 201610Cebek - oficina fija oficina movil 1 - 201610
Cebek - oficina fija oficina movil 1 - 201610Andoni Eguíluz Morán
 
El papel de las tic en la construccióLa integración de recursos didácticos di...
El papel de las tic en la construccióLa integración de recursos didácticos di...El papel de las tic en la construccióLa integración de recursos didácticos di...
El papel de las tic en la construccióLa integración de recursos didácticos di...Andoni Eguíluz Morán
 
Falta de profesionales tecnológicos.Cómo lo abordamos
Falta de profesionales tecnológicos.Cómo lo abordamosFalta de profesionales tecnológicos.Cómo lo abordamos
Falta de profesionales tecnológicos.Cómo lo abordamosAndoni Eguíluz Morán
 
Cebek oficina fija oficina movil 2 - 201512
Cebek   oficina fija oficina movil 2 - 201512Cebek   oficina fija oficina movil 2 - 201512
Cebek oficina fija oficina movil 2 - 201512Andoni Eguíluz Morán
 
Cebek - Oficina fija oficina movil 1 - 201512
Cebek - Oficina fija oficina movil 1 - 201512Cebek - Oficina fija oficina movil 1 - 201512
Cebek - Oficina fija oficina movil 1 - 201512Andoni Eguíluz Morán
 
Uso seguro de las TIC en el mundo educativo
Uso seguro de las TIC en el mundo educativoUso seguro de las TIC en el mundo educativo
Uso seguro de las TIC en el mundo educativoAndoni Eguíluz Morán
 
CCD2015 - Creación contenidos digitales
CCD2015 - Creación contenidos digitalesCCD2015 - Creación contenidos digitales
CCD2015 - Creación contenidos digitalesAndoni Eguíluz Morán
 
Cebek - Medidas basicas de seguridad - 201504
Cebek - Medidas basicas de seguridad - 201504Cebek - Medidas basicas de seguridad - 201504
Cebek - Medidas basicas de seguridad - 201504Andoni Eguíluz Morán
 
CYPED 2015 - Comunicación y Participación en Entornos Digitales
CYPED 2015 - Comunicación y Participación en Entornos DigitalesCYPED 2015 - Comunicación y Participación en Entornos Digitales
CYPED 2015 - Comunicación y Participación en Entornos DigitalesAndoni Eguíluz Morán
 
Cebek - jornada identidad digital corporativa
Cebek - jornada identidad digital corporativaCebek - jornada identidad digital corporativa
Cebek - jornada identidad digital corporativaAndoni Eguíluz Morán
 
Gamificación, serious games y negocio (SGGN-1409)
Gamificación, serious games y negocio (SGGN-1409)Gamificación, serious games y negocio (SGGN-1409)
Gamificación, serious games y negocio (SGGN-1409)Andoni Eguíluz Morán
 
Programación III (Java) - 05 Genericos y Colecciones - java6-7
Programación III (Java) - 05 Genericos y Colecciones - java6-7Programación III (Java) - 05 Genericos y Colecciones - java6-7
Programación III (Java) - 05 Genericos y Colecciones - java6-7Andoni Eguíluz Morán
 

Mehr von Andoni Eguíluz Morán (20)

Cebek oficina fija oficina movil 2 - 201611
Cebek   oficina fija oficina movil 2 - 201611Cebek   oficina fija oficina movil 2 - 201611
Cebek oficina fija oficina movil 2 - 201611
 
Cebek - oficina fija oficina movil 1 - 201610
Cebek - oficina fija oficina movil 1 - 201610Cebek - oficina fija oficina movil 1 - 201610
Cebek - oficina fija oficina movil 1 - 201610
 
El papel de las tic en la construccióLa integración de recursos didácticos di...
El papel de las tic en la construccióLa integración de recursos didácticos di...El papel de las tic en la construccióLa integración de recursos didácticos di...
El papel de las tic en la construccióLa integración de recursos didácticos di...
 
Falta de profesionales tecnológicos.Cómo lo abordamos
Falta de profesionales tecnológicos.Cómo lo abordamosFalta de profesionales tecnológicos.Cómo lo abordamos
Falta de profesionales tecnológicos.Cómo lo abordamos
 
Cebek oficina fija oficina movil 2 - 201512
Cebek   oficina fija oficina movil 2 - 201512Cebek   oficina fija oficina movil 2 - 201512
Cebek oficina fija oficina movil 2 - 201512
 
Cebek - Oficina fija oficina movil 1 - 201512
Cebek - Oficina fija oficina movil 1 - 201512Cebek - Oficina fija oficina movil 1 - 201512
Cebek - Oficina fija oficina movil 1 - 201512
 
Uso seguro de las TIC en el mundo educativo
Uso seguro de las TIC en el mundo educativoUso seguro de las TIC en el mundo educativo
Uso seguro de las TIC en el mundo educativo
 
Uso ético y seguro de las TIC
Uso ético y seguro de las TICUso ético y seguro de las TIC
Uso ético y seguro de las TIC
 
Redes Sociales Educativas
Redes Sociales EducativasRedes Sociales Educativas
Redes Sociales Educativas
 
CCD2015 - Creación contenidos digitales
CCD2015 - Creación contenidos digitalesCCD2015 - Creación contenidos digitales
CCD2015 - Creación contenidos digitales
 
Cebek - Medidas basicas de seguridad - 201504
Cebek - Medidas basicas de seguridad - 201504Cebek - Medidas basicas de seguridad - 201504
Cebek - Medidas basicas de seguridad - 201504
 
CYPED 2015 - Comunicación y Participación en Entornos Digitales
CYPED 2015 - Comunicación y Participación en Entornos DigitalesCYPED 2015 - Comunicación y Participación en Entornos Digitales
CYPED 2015 - Comunicación y Participación en Entornos Digitales
 
Cebek - jornada identidad digital corporativa
Cebek - jornada identidad digital corporativaCebek - jornada identidad digital corporativa
Cebek - jornada identidad digital corporativa
 
Gamificación, serious games y negocio (SGGN-1409)
Gamificación, serious games y negocio (SGGN-1409)Gamificación, serious games y negocio (SGGN-1409)
Gamificación, serious games y negocio (SGGN-1409)
 
SGGN 20140605
SGGN 20140605SGGN 20140605
SGGN 20140605
 
Programación III (Java) - 09 Cierre
Programación III (Java) - 09 CierreProgramación III (Java) - 09 Cierre
Programación III (Java) - 09 Cierre
 
Programación III (Java) - 08 threads
Programación III (Java) - 08 threadsProgramación III (Java) - 08 threads
Programación III (Java) - 08 threads
 
Programación III (Java) - 07b Swing
Programación III (Java) - 07b SwingProgramación III (Java) - 07b Swing
Programación III (Java) - 07b Swing
 
Programación III (Java) - 07 Eventos
Programación III (Java) - 07 EventosProgramación III (Java) - 07 Eventos
Programación III (Java) - 07 Eventos
 
Programación III (Java) - 05 Genericos y Colecciones - java6-7
Programación III (Java) - 05 Genericos y Colecciones - java6-7Programación III (Java) - 05 Genericos y Colecciones - java6-7
Programación III (Java) - 05 Genericos y Colecciones - java6-7
 

Kürzlich hochgeladen

5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaLuis Minaya
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 

Kürzlich hochgeladen (20)

5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 

Programación III (Java) - 06 Ventanas

  • 1. 6. Ventanas La librería AWT Componentes y Contenedores Componentes Contenedores Creación de ventanas personalizadas Layouts Un ejemplo que integra todo Swing Programación III Tema 6 - Ventanas
  • 2. La librería AWT • ¿Qué es AWT? – Librería que define un conjunto de clases e interfaces Java que permiten la construcción de interfaces gráficas de usuario – También permite la gestión de los eventos generados por esas interfaces  Tema 7 – Como Java es multiplataforma, AWT es (Abstract Window Toolkit) independiente de plataforma. • Dos elementos básicos: – Contenedores (Clase java.awt.Container) – Componentes (Clase java.awt.Component) Programación III Tema 6 - Ventanas
  • 3. Componentes y Contenedores (1/4) • ¿Qué es un Contenedor? – Es un componente o elemento gráfico que puede contener otros componentes dentro. – Lo son todas las clases que derivan de java.awt.Container – Ejemplos: • Ventana (java.awt.Frame) • Dialogo (java.awt.Dialog) • Panel (java.awt.Panel) Programación III Tema 6 - Ventanas
  • 4. Componentes y Contenedores (2/4) • ¿Qué es un Componente? – Cualquier elemento gráfico que puede aparecer en una GUI – Lo son todas las clases que derivan de java.awt.Component – Ejemplos: • Botones (java.awt.Button), Campos de Texto (java.awt.TextField), Etiquetas (java.awt.Label), Listas (java.awt.List), Elementos de Selección Múltiple y Exclusiva (java.awt.Checkbox),... Programación III Tema 6 - Ventanas
  • 5. Componentes y Contenedores (3/4) • Jerarquía AWT (simplificada) Component TextField ..... Button Container Label ..... List Panel Window Dialog Frame Programación III Tema 6 - Ventanas
  • 6. Componentes y Contenedores (4/4) • ¡Un Contenedor es también un Componente! – Esto permite que un contenedor puede contener dentro a otros contenedores (ya que también son componentes) Programación III Tema 6 - Ventanas
  • 7. Componentes (1/5) • ¿Cómo se crean los componentes? ¿Cómo se crean los botones, las listas, los campos de texto, las etiquetas,...? • Los componentes son clases java y la mayoría están a partir el paquete java.awt Button boton = new Button(); Label etiqueta = new Label(); TextField campoTexto = new TextField(); Programación III Tema 6 - Ventanas
  • 8. Componentes (2/5) • Constructores – Cada tipo de componente tiene distintos tipos de constructores – Ejemplo  Componente TextField • Campo de texto con tamaño por defecto y en blanco TextField c = new TextField(); • Campo de texto inicializado con un texto TextField c = new TextField(“Hola a todos”); • Campo de texto con tamaño 20 (tiene espacio para 20 caracteres) TextField c = new TextField(20); • Campo de texto con tamaño 20 e inicializado con un texto TextField c = new TextField(“Hola”, 20); Programación III Tema 6 - Ventanas
  • 9. Componentes (3/5) – Ejemplo  Label • Etiqueta sin texto Label etiq = new Label(); • Etiquetas con un determinado texto Label etiq = new Label(“Apellido:”); • Etiqueta con un determinado texto y una determinada propiedad Label etiq = new Label(“Edad:”, Label.CENTER); Programación III Tema 6 - Ventanas
  • 10. Componentes (4/5) • Métodos más Comunes – Los componentes, como todos los objetos, proporcionan métodos que permiten manipular sus propiedades. – Ejemplos: • Modificación de la etiqueta de un botón boton.setLabel(“Aceptar”); • Consulta del texto de un campo de texto campo.getText(); • Modificación del texto de una etiqueta etiqueta.setText(); Programación III Tema 6 - Ventanas
  • 11. Componentes (5/5) • Modificación del tamaño de una caja de texto campo.setColumns(30); • Inserción y consulta de elementos en una lista lista.add(“Item1”); lista.add(“Item2”); lista.getItem(2); • Hacer visible e invisible un botón boton.setVisible(false); • Activar o desactivar un botón boton.setEnabled(true); – Más de información sobre componentes  API Programación III Tema 6 - Ventanas
  • 12. Contenedores (1/4) • Tipos de Contenedores – Frame • La ventana tradicional de Windows (u otro S.O. de ventanas) – Dialog • Ventana (generalmente en forma modal) que sirve para lanzar preguntas o advertencias al usuario. Depende de un Frame principal y no admite elementos como menús, barras de herramientas,... Programación III Tema 6 - Ventanas
  • 13. Contenedores (2/4) – Panel • Contenedor (generalmente invisible) que permite agrupar y organizar los elementos de una ventana. Siempre se encuentra insertado dentro de un Frame. Muy útil. • ¿Cómo se crean los contenedores? ¿Cómo se crean las ventanas, los diálogos, los paneles,...? Frame f = new Frame(); Panel p = new Panel(); • Cómo se añaden componentes a un contenedor? Mediante el método add( ) <contenedor>.add(<componente>) Programación III Tema 6 - Ventanas
  • 14. Contenedores (3/4) – Ejemplos: • Inserción de dos botones y dos campos de texto en una ventana Frame ventana = new Frame(); ventana.add(new Button(“Aceptar”)); ventana.add(new Button(“Cancelar”)); ventana.add(new TextField(20)); ventana.add(new TextField(30)); • Inserción de una etiqueta, una lista y un botón en un panel Panel panel = new Panel(); panel.add(new Label(“Soy una etiqueta”)); panel.add(new List()); panel.add(new Button(“Ok”)); • Inserción de un panel dentro de una ventana ventana.add(panel); Programación III Tema 6 - Ventanas
  • 15. Contenedores (4/4) • Algunos métodos de los contenedores – Asignación de título y tamaño a una ventana ventana.setTitle( “Titulo de la Ventana”); ventana.setSize(300,200); – Asignación de color de fondo a un panel panel.setBackground(Color.blue); – Mas métodos  API Programación III Tema 6 - Ventanas
  • 16. Creación de ventanas personalizadas(1/2) • Normalmente no se trabaja con las ventanas por defecto que trae Java (clase java.awt.Frame) • Lo que se hace es crear nuestras propias ventanas y configurarlas a nuestro gusto • Para ello: – Se crea una clase y se la hace derivar de la clase Frame • Con esto creamos una clase que es una ventana pero que está vacía. – Se le añaden todos los elementos (componentes) que queramos que tenga nuestra ventana Programación III Tema 6 - Ventanas
  • 17. Creación de ventanas personalizadas(2/2) • Ejemplo: – Ventana que posee un panel, dos etiquetas, un campo de texto, un área de texto y dos botones – Este código daría lugar a la siguiente ventana: Ejemplo Programación III Tema 6 - Ventanas
  • 18. Layouts (1/5) • Al insertar un elemento dentro de un contenedor... – ¿Cómo podemos controlar en qué posición se va a situar ese elemento en el contenedor? – En el ejemplo anterior ¿Por qué los botones se situaban en la parte de abajo? ¿Y por qué el campo de texto se coloca arriba? • Para controlar la disposición de los componentes dentro de un contenedor Java proporciona los Layouts – Los Layouts, como todo en Java, son objetos – Todo contenedor debe tener asignado un layout – Para asignar un Layout determinado a un contenedor: <contenedor>.setLayout(<layout>) Programación III Tema 6 - Ventanas
  • 19. Layouts (2/5) • Tipos de Layouts – FlowLayout • Sitúa los elementos uno detrás de otro, de izquierda a derecha y de arriba a abajo. • Es el layout por defecto de los paneles • Ejemplo: Ejemplo Programación III Tema 6 - Ventanas
  • 20. Layouts (3/5) – BorderLayout • Sitúa los elementos en una de estas 5 orientaciones: Norte, Sur, Este, Oeste y Centro • Es el layout por defecto de los Frames • Ejemplo: Ejemplo Programación III Tema 6 - Ventanas
  • 21. Layouts (4/5) – GridLayout • Divide el contenedor en un determinado número de celdas (de idéntico tamaño y dispuestas en forma de filas y columnas) y sitúa cada elemento en una de esas celdas Ejemplo Programación III Tema 6 - Ventanas
  • 22. Layouts (5/5) – GridBagLayout • Divide el contenedor en celdas (como el GridLayout) pero sin necesidad de que éstas tengan que ser del mismo tamaño. – CardLayout • Gestiona un conjunto de tarjetas (un grupo de componentes) de forma que en cada momento sólo una de las tarjetas es visible. Programación III Tema 6 - Ventanas
  • 23. Un ejemplo integrando todo (1/2) • El objetivo es construir una interfaz como la siguiente: Ejemplo Programación III Tema 6 - Ventanas
  • 24. Un ejemplo integrando todo(2/2) • La distribución interna de los elementos es la siguiente: X Etiqueta de panelNorte (FlowLayout) Cabecera panelIzquierdo PanelDerecho panelCentral (GridLayout(1,2)) (FlowLayout) (GridLayout (2,1)) panelSur (FlowLayout) VentanaEjemplo Campos de panelArriba La Lista (BorderLayout) texto y el area (FlowLayout) Dos de texto Botones panelAbajo Los (FlowLayout) Checkbox Programación III Tema 6 - Ventanas
  • 25. Swing (1/4) • Librería que es versión mejorada de AWT – Soluciona algunos problemas de AWT – Mejora el aspecto de las interfaces (uniformidad, todo es Java) – Mejora la portabilidad de las aplicaciones gráficas • ¿Qué aporta Swing? ¿En qué se diferencia de AWT? – Incorpora nuevas versiones de todos los componentes de AWT • JFrame, JButton, JLabel, JList, JPanel, JTextbox, JTextArea,... Programación III Tema 6 - Ventanas
  • 26. Swing (2/4) – Cada ventana (JFrame) posee un elemento interno que es sobre el que se añaden los componentes y no sobre la propia ventana • Para acceder a este panel: ventana.getContentPane(); • Por tanto, para insertar componentes en una ventana: ventana.getContentPane().add(new JButton()); ventana.getContentPane().add(new JPanel()); Programación III Tema 6 - Ventanas
  • 27. Swing (3/4) • El ejemplo anterior con componentes SWING – Aspecto nuevo Ejemplo Programación III Tema 6 - Ventanas
  • 28. Swing (4/4) • En Swing existe un componente llamado JTable que permite presentar datos en formato de tabla de dos dimensiones. Ejemplo Programación III Tema 6 - Ventanas