SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Presentación Modelo de Datos
Presentación Modelo de DatosPresentación Modelo de Datos
Presentación Modelo de DatosEnrique Cabello
 
Diccionario de base de datos
Diccionario de base de datosDiccionario de base de datos
Diccionario de base de datosalexis armas
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++compumet sac
 
Bases de datos my sql
Bases de datos my sqlBases de datos my sql
Bases de datos my sqlevavivez
 
1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptxFernando Solis
 
Algoritmos intercalación
Algoritmos intercalaciónAlgoritmos intercalación
Algoritmos intercalaciónPaul Arévalo
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteJosé Antonio Sandoval Acosta
 
Diagrama de secuencia
Diagrama de secuenciaDiagrama de secuencia
Diagrama de secuenciaKelly Cuervo
 
El modelo entidad_relacion
El modelo entidad_relacionEl modelo entidad_relacion
El modelo entidad_relacionLuis Lucho
 
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTOUnidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTOGuillermo Hernandez Miranda
 
2.3.3 Busqueda Hash.pptx
2.3.3 Busqueda Hash.pptx2.3.3 Busqueda Hash.pptx
2.3.3 Busqueda Hash.pptxFernando Solis
 
Base de datos con Netbeans
Base de datos con NetbeansBase de datos con Netbeans
Base de datos con NetbeansRandy
 

Mais procurados (20)

Presentación Modelo de Datos
Presentación Modelo de DatosPresentación Modelo de Datos
Presentación Modelo de Datos
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
Listas
ListasListas
Listas
 
Diccionario de base de datos
Diccionario de base de datosDiccionario de base de datos
Diccionario de base de datos
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
Bases de datos my sql
Bases de datos my sqlBases de datos my sql
Bases de datos my sql
 
1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx
 
Algoritmos intercalación
Algoritmos intercalaciónAlgoritmos intercalación
Algoritmos intercalación
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Diagrama de secuencia
Diagrama de secuenciaDiagrama de secuencia
Diagrama de secuencia
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Lenguajes formales
Lenguajes formalesLenguajes formales
Lenguajes formales
 
Ordenamiento por insercion
Ordenamiento por insercionOrdenamiento por insercion
Ordenamiento por insercion
 
3. Modelo ER - Relacional
3. Modelo ER - Relacional3. Modelo ER - Relacional
3. Modelo ER - Relacional
 
El modelo entidad_relacion
El modelo entidad_relacionEl modelo entidad_relacion
El modelo entidad_relacion
 
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTOUnidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
Unidad 3 TÉCNICAS PARA EL ANALISIS DE REQUERIMIENTO
 
2.3.3 Busqueda Hash.pptx
2.3.3 Busqueda Hash.pptx2.3.3 Busqueda Hash.pptx
2.3.3 Busqueda Hash.pptx
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Base de datos con Netbeans
Base de datos con NetbeansBase de datos con Netbeans
Base de datos con Netbeans
 

Destaque

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
 

Destaque (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
 

Semelhante a Programación III (Java) - 06 Ventanas

Semelhante a 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
 

Mais de 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
 

Mais de 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
 

Último

Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresJonathanCovena1
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONamelia poma
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdfDemetrio Ccesa Rayme
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCCarlosEduardoSosa2
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...Ars Erótica
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdfFICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdfRaulGomez822561
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxhenarfdez
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuelabeltranponce75
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 

Último (20)

Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdfFICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 

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