SlideShare una empresa de Scribd logo
1 de 95
Descargar para leer sin conexión
NIVEL 9

         ALGORÍTMICA Y PROGRAMACIÓN 2 (APO 2)




                     Mario José Villamizar Cano
                   mj.villamizar24@uniandes.edu.co
                             Oficina ML-637
http://sistemas.uniandes.edu.co/~mj.villamizar24/dokuwiki/doku.php
  Grupo de Tecnologías de Información y Comunicación (COMIT)
       Departamento de Ingeniería de Sistemas y Computación
           Universidad de los Andes, Bogotá D.C., Colombia
NIVEL 9

             REDES SOCIALES




           mjvc007@hotmail.com




        http://twitter.com/mariocloud




http://linkedin.com/in/mariojosevillamizarcano
NIVEL 9

         NIVEL 9 – ESTRUCTURAS LINEALES ENLAZADAS


Caso de estudio 1 – Una Central de Pacientes

   Referencias y ciclos de vida de los objetos

   Estructuras lineales enlazadas

   Localización de elementos y recorridos

   Supresión de elementos

   Inserción de elementos

   Patrones de algoritmo

   Nuevos componentes gráficos (JRadioButton, ButtonGroup, JDialog)
NIVEL 9

                    CASOS DE ESTUDIO
Caso de estudio 1: Una Central de Pacientes
NIVEL 9

                    CASOS DE ESTUDIO
Caso de estudio 1: Una Central de Pacientes
NIVEL 9

                    CASOS DE ESTUDIO
Caso de estudio 2: Aerolínea
NIVEL 9

                    CASOS DE ESTUDIO
Caso de estudio 2: Aerolínea
NIVEL 9

                    HOJAS DE TRABAJO
Hoja de trabajo 1: Agenda
NIVEL 9

                   HOJAS DE TRABAJO
Hoja de trabajo 2: Cadenas de ADN
NIVEL 9

                    HOJAS DE TRABAJO
Hoja de trabajo 3: Cupi E-Mart
NIVEL 9

                    HOJAS DE TRABAJO
Hoja de trabajo 3: Cupi E-Mart
NIVEL 9

                    CASOS DE ESTUDIO
Caso de estudio 1: Una Central de Pacientes
NIVEL 9

                    CASOS DE ESTUDIO
Caso de estudio 1: Una Central de Pacientes
NIVEL 9

    CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Requerimientos funcionales.
NIVEL 9

    CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Requerimientos funcionales.
NIVEL 9

    CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Requerimientos funcionales.
NIVEL 9

   CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Modelo del Mundo con un Vector o ArrayList
NIVEL 9

          CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
     Representación con un Vector o ArrayList



                                    :CentralPacientes


                :Paciente        :Paciente          :Paciente           :Paciente

pacientes =     codigo=12        codigo=22         codigo=50     ……     codigo=100
              nombre=“Maria”   nombre=“Juan”     nombre=“Mary”        nombre=“Lucas”


                    0                1                  2                   n
NIVEL 9

   CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Modelo del Mundo con un Vector o ArrayList
NIVEL 9

          CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
      Representación con una LISTA ENLAZADA SIMPLE

                                     :CentralPacientes


               :Paciente         :Paciente           :Paciente        :Paciente




                                                                                        null
primero       codigo=12          codigo=22           codigo=50        codigo=100
            nombre=“Maria”     nombre=“Juan”       nombre=“Mary”    nombre=“Lucas”




  Solo se tiene una referencia al primer elemento de la lista.

  Cada elemento de la lista tiene una referencia al siguiente-

  El último elemento de la lista tiene como referencia null es su atributo siguiente.

  El primer elemento de la lista generalmente se le denomina cabeza.
NIVEL 9

   CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Modelo del Mundo con una LISTA ENLAZADA SIMPLE
NIVEL 9

   CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Modelo de la Interfaz
NIVEL 9

   CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES
Modelo de las Pruebas
NIVEL 9

                   LISTAS ENLAZADAS SIMPLES


   Es una estructura de datos utilizada en problemas en los cuales es
importante mantener ordenados un conjunto de valores y objetos.

   Son muy eficientes para la inserción y eliminación de elementos.

Los desplazamientos en memoria para el caso de los arreglos es
necesario hacerlo a mano.

Los desplazamientos en memoria para el caso de los vectores o
ArrayList los hace automáticamente Java, sin embargo, no lo hace de
manera eficiente.

    Utilizadas principalmente en programas en los que hay muchas
inserciones y eliminaciones de elementos, así como en programas en los
cuales dichos elementos deben mantener o cumplir con alguna regla de
ordenamiento.
NIVEL 9

       DECLARACIÓN DE UNA LISTA ENLAZADA SIMPLE

La definición de una lista enlazada simple


public class CentralPacientes
{

     //----------------------------------------------------------------
     // Atributos
     //----------------------------------------------------------------
     /**
      * Primer paciente de la lista
      */
     private Paciente primero;

}
NIVEL 9

         INICIALIZACIÓN DE UNA LISTA ENLAZADA SIMPLE

La inicialización de una lista enlazada simple


public class CentralPacientes
{

     public CentralPacientes( )
     {                                      Inicialmente la lista no
                                            tiene ningún paciente,
          primero = null;                   por lo cual primero se
          numPacientes = 0;                    inicializa en null

     }

}
NIVEL 9

DECLARACIÓN DE LOS ELEMENTOS DE LISTA ENLAZADA SIMPLE

  La inicialización de una lista enlazada simple

  public class Paciente
  {
      //---------------------------------------------
      // Atributos
      //---------------------------------------------
      private int codigo;
      private String nombre;
      private String clinica;
      private String informacionMedica;
      private int sexo;
     /**
       * Referencia al siguiente elemento
       */                                                Cada elemento de la
      private Paciente siguiente;                        lista puede tener una
                                                        referencia al siguiente.
  }
NIVEL 9

                CREACIÓN DE UN NUEVO PACIENTE

La creación de un objeto de la clase Paciente

public class Paciente
{
    //---------------------------------------------
    // Métodos
    //---------------------------------------------
    public Paciente( int cod, String nom, String clin, String infoMed, int sex )
    {
        codigo = cod;
        nombre = nom;                               Al crear un objeto el
        clinica = clin;                              atributo siguiente
        informacionMedica = infoMed;                 referencia a null.
        sexo = sex;
        siguiente = null;
    }
}
NIVEL 9

        OPERACIONES SOBRE LISTAS ENLAZADAS SIMPLES

   Búsquedas y recorridos

Calcular el número de pacientes de sexo masculino.
Buscar a un paciente dado su código.
Buscar el número de pacientes asociados con una clínica.
Buscar a un paciente dado su nombre.


   Inserción

Insertar un nuevo paciente (al inicio, al final, después de otro paciente, antes de
otro paciente).


   Eliminación

Eliminar un paciente dado su código.
NIVEL 9

  BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES

      Recorrido total

Definir el método dar número de pacientes en la clase CentralPacientes:
                                                El recorrido siempre empieza por
                                               la cabeza y se hace utilizando una
  public int darTotalPacientes( )                     variable, regularmente
  {                                                    denominada actual.
    Paciente actual = primero;
    int numero = 0;                            El recorrido se hace en un ciclo, el
                                               cual se ejecuta siempre y cuando
       while( actual != null )                  no se haya llegado al final de la
       {                                                       lista.
          numero++;                                Se efectúan las operaciones
          actual = actual.darSiguiente( );        requeridas sobre el elemento
       }                                                      actual.
       return numero;
                                                    Se pide que actual ahora
  }
                                                    referencia a su elemento
                                                           siguiente.
NIVEL 9

  BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES

   Recorrido total

Definir el método dar número de mujeres en la clase CentralPacientes:
                                                  El recorrido siempre empieza por
  public int darNumeroMujeres ( )                la cabeza y se hace utilizando una
  {                                                     variable, regularmente
     Paciente actual = primero;                          denominada actual.
     int numero = 0;
                                                 El recorrido se hace en un ciclo, el
     while( actual != null )                      cual se ejecuta siempre y cuando
     {                                             no se haya llegado al final de la
          if(actual.darSexo( )==Paciente.MUJER)                   lista.
              numero++;                              Se efectúan las operaciones
        actual = actual.darSiguiente( );            requeridas sobre el elemento
     }                                                           actual.
     return numero;
                                                       Se pide que actual ahora
  }
                                                       referencia a su elemento
                                                               siguiente.
NIVEL 9

  BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES

      Recorrido parcial

Definir el método hay un hombre en la clase CentralPacientes:
                                                 El recorrido siempre empieza por
  public boolean hayUnHombre ( )                la cabeza y se hace utilizando una
  {                                                    variable, regularmente
     Paciente actual = primero;                         denominada actual.
     boolean termino= false;
                                                 El recorrido se hace en un ciclo, el
     while( actual != null && !termino)           cual se ejecuta siempre y cuando
     {                                             no se haya llegado al final de la
          if(actual.darSexo( )==Paciente.HOMBRE) lista y no se haya cumplido una
              termino=true;                                   condición.
         actual = actual.darSiguiente( );            Se efectúan las operaciones
       }                                            requeridas sobre el elemento
       return termino;                                         actual.
  }
                                                      Se pide que actual ahora
                                                      referencia a su elemento
                                                             siguiente.
NIVEL 9

  BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES

      Ejercicio de recorrido y búsquedas

Definir el método dar sexo menor número de pacientes en la clase
CentralPacientes. Este método retorna el sexo que tiene el menor número de
pacientes, es decir las constantes HOMBRE o MUJER, en caso de haber
empate el método debe retornar -1.

  public int darSexoMenorNumeroPacientes ( )
  {




  }
NIVEL 9

  BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES

      Ejercicio de recorrido y búsquedas

Definir el método dar paciente mayor código en la clase CentralPacientes:

  public Paciente darPacienteMayorCodigo ( )
  {




  }
NIVEL 9

  BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES

      Ejercicio de recorrido y búsquedas

Definir el método dar último paciente en la clase CentralPacientes. Este método
retorna null en caso de que no hayan pacientes.

  public Paciente darUltimoPaciente( )
  {




  }
NIVEL 9

  BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES

      Ejercicio de recorrido y búsquedas

Definir el método dar última mujer de la lista en la clase CentralPacientes. Este
método retorna null en caso de que no haya una mujer en la lista.

  public Paciente darUltimaMujer ( )
  {




  }
NIVEL 9

  BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES

      Ejercicio de recorrido y búsquedas

Definir el método retornar pacientes en ArrayList, en la clase CentralPacientes.

  public ArrayList retornarPacientesEnArrayList ( )
  {




  }
NIVEL 9

 BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES

      Ejercicio de recorrido y búsquedas (DOBLE RECORRIDO)

Definir el método hay dos pacientes con el mismo nombre en la clase
CentralPacientes.

  public boolean hayDosPacientesConElMismoNombre ( )
  {




  }
NIVEL 9

 BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES

      Ejercicio de recorrido y búsquedas (DOBLE RECORRIDO)

Definir el método hay dos pacientes de la misma clínica en la clase
CentralPacientes.

  public boolean hayDosPacientesDeLaMismaClinica ( )
  {




  }
NIVEL 9

                PATRÓN DE RECORRIDO TOTAL

Consiste en pararse una vez en cada uno de los elementos de la lista.



    Nodo actual = primero;
    while( actual != null )
    {

             ……………

             actual = actual.darSiguiente( );
    }
NIVEL 9

    PATRÓN DE RECORRIDO PARCIAL PARA LOCALIZAR EL ÚTIMO
                        ELEMENTO
    Consiste en localizar el último elemento de la lista.


if ( primero != null )
{
         Nodo actual = primero;
         while( actual.darSiguiente() != null )
         {

                 ……………

                 actual = actual.darSiguiente( );
         }
         …………
}
NIVEL 9

  PATRÓN DE RECORRIDO PARCIAL HASTA QUE UN ELEMENTO
                CUMPLA UNA CONDICIÓN
   Consiste en verificar que una condición se cumple sobre por lo menos
un elemento de la lista.


       Nodo actual = primero;
       boolean termino = false;
       while( actual != null && !termino )
       {
              …………..
              actual = actual.darSiguiente( );
       }
       ……………
NIVEL 9

PATRÓN DE RECORRIDO PARCIAL HASTA QUE UNA CONDICIÓN SE
         CUMPLA SOBRE EL SIGUIENTE ELEMENTO
   Consiste en verificar que una condición se cumple sobre el siguiente
elemento de por lo menos uno de los elementos de la lista.


       Nodo actual = primero;
       Nodo anterior = null;
       boolean termino = false;
       while( actual != null && !termino )
       {
              …………..
              anterior = actual;
              actual = actual.darSiguiente( );
       }
       ……………
NIVEL 9



PREGUNTAS
NIVEL 9




HOJA DE TRABAJO
NIVEL 9

              INSERCIÓN EN LISTAS ENLAZADAS SIMPLES

    Problemas de inserción típicos


Insertar un elemento al inicio de la lista.



Insertar un elemento al final de la lista.



Insertar un elemento después de otro elemento.



Insertar un elemento antes de otro elemento.
NIVEL 9

             INSERCIÓN EN LISTAS ENLAZADAS SIMPLES

   Problemas de inserción típicos – AL INICIO DE LA LISTA

Definir el método agregar paciente al comienzo, en la clase CentralPacientes:

 public void agregarPacienteAlComienzo( Paciente pac )
  {
    if( primero == null )                           Se supone que el paciente
    {                                               ya se creó normalmente y
                          Se crea la cabeza si no  que su referencia a siguiente
        primero = pac;             existe
    }                                                          es null.
    else
    {
        pac.cambiarSiguiente( primero );          Se realiza la adición antes
        primero = pac;                             del paciente que está al
    }                                                  inicio de la lista
    numPacientes++;
  }
NIVEL 9

             INSERCIÓN EN LISTAS ENLAZADAS SIMPLES

   Problemas de inserción típicos – AL FINAL DE LA LISTA

Definir el método agregar paciente al final, en la clase CentralPacientes:

 public void agregarPacienteAlFinal( Paciente pac )
  {
    if( primero == null )                            Se supone que el paciente
    {                                                ya se creó normalmente y
                           Se crea la cabeza si no  que su referencia a siguiente
        primero = pac;               existe
    }                                                           es null.
    else
    {
           Paciente p = localizarUltimo( );           Se realiza la adición
           p.insertarDespues( pac );               después del paciente que
    }                                                está al final de la lista
    numPacientes++;
  }
NIVEL 9

             INSERCIÓN EN LISTAS ENLAZADAS SIMPLES

   Problemas de inserción típicos – INSERTAR DESPUÉS DE OTRO
ELEMENTO

Definir el método     agregar   paciente   después   de   otro,   en   la   clase
CentralPacientes:

 public void agregarPacienteDespuesDe( int cod, Paciente pac ) throws
              NoExisteException
 {                                              Se supone que el paciente
                          Identificador del
                                                 ya se creó normalmente y
                         elemento anterior
                                               que su referencia a siguiente
    Paciente anterior = localizar( cod );                 es null.
      if( anterior == null )                          Se localiza el paciente
          throw new NoExisteException( cod );                anterior
      else
          anterior.insertarDespues( pac );
                                                      Se adiciona el nuevo
      numPacientes++;
                                                      paciente después del
                                                             anterior
  }
NIVEL 9

                 INSERCIÓN EN LISTAS ENLAZADAS SIMPLES

   Problemas de inserción típicos – INSERTAR ANTES DE OTRO
ELEMENTO

Definir el método agregar paciente antes de otro, en la clase CentralPacientes:

    public void agregarPacienteAntesDe( int cod, Paciente pac ) throws NoExisteException
     {
       if( primero == null )
           throw new NoExisteException( cod );
       else if( cod == primero.darCodigo( ) )
       {
           pac.cambiarSiguiente( primero );
           primero = pac;
       }
       else
       {
           Paciente anterior = localizarAnterior( cod );
           if( anterior == null )
               throw new NoExisteException( cod );
           anterior.insertarDespues( pac );
       }
       numPacientes++;
}
NIVEL 9

                  ELIMINACIÓN EN LISTAS ENLAZADAS SIMPLES

   Problemas de inserción típicos – ELIMINAR UN ELEMENTO DE LA
LISTA

Definir el método eliminar paciente, en la clase CentralPacientes:

    public void eliminarPaciente( int cod ) throws NoExisteException
     {
       if( primero == null )
           throw new NoExisteException( cod );
       else if( cod == primero.darCodigo( ) )
       {
           primero = primero.darSiguiente( ); // El paciente es el primero de la lista
       }
       else
       {
           // El paciente es un elemento intermedio de la lista
           Paciente anterior = localizarAnterior( cod );
           if( anterior == null )
               throw new NoExisteException( cod );
           anterior.desconectarSiguiente( );
       }
       numPacientes--;
}
NIVEL 9

                  ELIMINACIÓN EN LISTAS ENLAZADAS SIMPLES

   Problemas de inserción típicos – ELIMINAR UN ELEMENTO DE LA
LISTA

Definir el método eliminar paciente, en la clase CentralPacientes:

    public void eliminarPaciente( int cod ) throws NoExisteException
     {
       if( primero == null )
           throw new NoExisteException( cod );
       else if( cod == primero.darCodigo( ) )
       {
           primero = primero.darSiguiente( ); // El paciente es el primero de la lista
       }
       else
       {
           // El paciente es un elemento intermedio de la lista
           Paciente anterior = localizarAnterior( cod );
           if( anterior == null )
               throw new NoExisteException( cod );
           anterior.desconectarSiguiente( );
       }
       numPacientes--;
}
NIVEL 9

                   INTERFAZ PRINCIPAL
Caso de estudio 1: Una Central de Pacientes
NIVEL 9

                   COMPONENTE JDialog
Caso de estudio 1: Una Central de Pacientes
NIVEL 9

                             Diálogos (JDialog)

   Métodos

setSize(ancho, alto)
setResizable(cambiable)
setTitle(titulo)
setDefaultCloseOperation(EXIT_
ON_CLOSE)
setVisible(esVisible)
add(componente)

Puede ser modal o no modal.

    Método setLayout(    )   del
contenedor gráfico.

Se aplican los tipos de layout
BorderLayout y GridLayout igual
a un JFrame.
NIVEL 9

              DIAGRAMA DE CLASES CON JDialog
 Modelo de la Interfaz




Cada JDialog tiene una referencia     Las líneas punteadas indican
     a la interfaz principal.       dependencias (no son atributos).
NIVEL 9

     EJEMPLO DE CREACIÓN DE UN JDialog




Cada JDialog tiene una referencia a la interfaz principal.
NIVEL 9

    COMO ABRIR UN JDialog DESDE LA INTERFAZ




Las líneas punteadas indican dependencias (no son atributos).
NIVEL 9

COMPONENTE JRadioButton y ButtonGroup
NIVEL 9

COMPONENTE JRadioButton y ButtonGroup
NIVEL 9

     COMPONENTE JRadioButton y ButtonGroup




Al panel se adicionan los JRadioButton, NO el ButtonGroup
NIVEL 9

COMPONENTE JRadioButton y ButtonGroup
NIVEL 9

COMPONENTE JRadioButton y ButtonGroup
NIVEL 9



PREGUNTAS
NIVEL 9




HOJA DE TRABAJO
NIVEL 9

                    CASOS DE ESTUDIO
Caso de estudio 2: Aerolínea
NIVEL 9

                    CASOS DE ESTUDIO
Caso de estudio 2: Aerolínea
NIVEL 9

             CASO DE ESTUDIO 2 – AEROLÍNEA
Requerimientos funcionales.
NIVEL 9

             CASO DE ESTUDIO 2 – AEROLÍNEA
Requerimientos funcionales.
NIVEL 9

             CASO DE ESTUDIO 2 – AEROLÍNEA
Requerimientos funcionales.
NIVEL 9

             CASO DE ESTUDIO 2 – AEROLÍNEA
Requerimientos funcionales.
NIVEL 9

           CASO DE ESTUDIO 2 – AEROLÍNEA
Modelo del Mundo
NIVEL 9

             CASO DE ESTUDIO 2 – AEROLÍNEA
Modelo de la Interfaz
NIVEL 9

            CASO DE ESTUDIO 2 – AEROLÍNEA
Modelo de las Pruebas
NIVEL 9

               CASO DE ESTUDIO 2 – AEROLÍNEA
  Representación con una Lista Doblemente Enlazada




                                :Ciudad

vuelo1
          :Vuelo       :Vuelo              :Vuelo      :Vuelo




                                                                   null
null     codigo=30    codigo=80           codigo=50   codigo=100
NIVEL 9

        OPERACIONES SOBRE LISTAS ENLAZADAS DOBLES

   Búsquedas y recorridos (Similar a como se hace en la listas simples)

Calcular el número de vuelos que tienen por lo menos una silla disponible.
Buscar a un vuelo dado su código.
Buscar si un usuario tiene una reserva en un vuelo.


   Inserción

Insertar un nuevo vuelo (al inicio, al final, después de otro vuelo, antes de otro
vuelo).


   Eliminación

Eliminar un vuelo dado su código.
NIVEL 9

ARREGLOS DE CONSTANTES
NIVEL 9

MANEJO DE FECHAS Y FORMATOS
NIVEL 9

            NUEVOS DISTRIBUIDORES GRÁFICOS




Distribuidor secuencial - FlowLayout




Distribuidor GridBagLayout
NIVEL 9

                  Distribuidor secuencial - FlowLayout


    Sitúa todos los componentes que se encuentran dentro del contenedor
gráfico, uno después de otro de izquierda a derecha.




    Tiene en cuenta el orden de llegada y respeta el tamaño preferido que tienen
establecidos cada uno de los componentes gráficos.




    Si se termina el espacio en una fila, el distribuidor comienza a usar la
siguiente.
NIVEL 9

Distribuidor secuencial - FlowLayout
NIVEL 9

Distribuidor secuencial - FlowLayout
NIVEL 9

                        Distribuidor GridBagLayout

   Distribuidor muy flexible que permite crear interfaces gráficas de usuario con
una estructura profesional.

   Utiliza una malla dinámica en la que cada componente puede utilizar una o
más celdas.

   Implementado por dos clases en Java:

GridBagLayout: El distribuidor
GridBagConstraints: Describe las características (posición, tamaño, forma de
adaptarse a los cambios de tamaño, etc.

   En el método add para adicionar un nuevo componente al distribuidor, se
debe pasar como parámetro una instancia de la clase GridBagConstraints.

    Se verán las principales características de este distribuidor. Para una
documentación más completa se recomienda consultar la documentación de las
              clases GridBagLayout y GridBagConstraints.
NIVEL 9

                Objetos de la Clase GridBagConstraints

    Un objeto de la clase GridBagConstraints tiene definidos (entre otros) los
siguientes atributos.

gridx: Coordenada X de la celda de la malla del distribuidor donde comienza el
componente.

                                        Coordenada X
                                        0     1     2

                                0

               Coordenada Y     1

                                2
NIVEL 9

                Objetos de la Clase GridBagConstraints

    Un objeto de la clase GridBagConstraints tiene definidos (entre otros) los
siguientes atributos.


gridy: Coordenada Y de la celda de la malla del distribuidor donde comienza el
componente.



gridwitdh: Número de casillas que va a ocupar el componente en la dirección X.




gridheigh: Número de casillas que va a ocupar el componente en la dirección Y.
NIVEL 9

                Objetos de la Clase GridBagConstraints

    Un objeto de la clase GridBagConstraints tiene definidos (entre otros) los
siguientes atributos.

fill: Usado cuando el espacio reservado para el componente es mayor que el
espacio que el componente necesita. Puede tomar los siguientes valores:

GridBagConstraints.NONE (valor por defecto y corresponde a no hacer nada).

GridBagConstraints.HORIZONTAL (cambia el tamaño del componente en la
dirección horizontal).

GridBagConstraints.VERTICAL (cambia el tamaño del componente en la
dirección vertical).

GridBagConstraints.BOTH (hace cambios en la dos dimensiones para ocupar
todo el espacio disponible en el distribuidor).
NIVEL 9

                Objetos de la Clase GridBagConstraints

    Un objeto de la clase GridBagConstraints tiene definidos (entre otros) los
siguientes atributos.



weightx: Define la manera como se va a distribuir el espacio extra en la
dimensión X. Utilizado principalmente cuando se cambie el tamaño del
contenedor gráfico.



weighty: Define la manera como se va a distribuir el espacio extra en la
dimensión Y. Utilizado principalmente cuando se cambie el tamaño del
contenedor gráfico.
NIVEL 9

Ejemplo con GridBagLayout
NIVEL 9

Ejemplo con GridBagLayout
NIVEL 9

Ejemplo con GridBagLayout
NIVEL 9

Ejemplo con GridBagLayout
NIVEL 9

Ejemplo con GridBagLayout
NIVEL 9

Ejemplo con GridBagLayout
NIVEL 9



PREGUNTAS
NIVEL 9




HOJA DE TRABAJO

Más contenido relacionado

Destacado

De diagrama de clase a Codigo Java
De diagrama de clase a Codigo JavaDe diagrama de clase a Codigo Java
De diagrama de clase a Codigo JavaNestor Fabian Koch
 
Elemento 6 Plan Contable Gubernamental
Elemento 6 Plan Contable GubernamentalElemento 6 Plan Contable Gubernamental
Elemento 6 Plan Contable GubernamentalStewart0301
 
Emprendimiento U 9
Emprendimiento U 9Emprendimiento U 9
Emprendimiento U 9marioaguirre
 
Flp plan de negocios 2015
Flp plan de negocios 2015Flp plan de negocios 2015
Flp plan de negocios 2015Camilo Acosta
 
Caracteristicas del plan contable gubernamental
Caracteristicas del plan contable gubernamentalCaracteristicas del plan contable gubernamental
Caracteristicas del plan contable gubernamentalFelix Cuya
 
PRINCIPIOS DE CONTABILIDAD GUBERNAMENTAL
PRINCIPIOS DE CONTABILIDAD GUBERNAMENTALPRINCIPIOS DE CONTABILIDAD GUBERNAMENTAL
PRINCIPIOS DE CONTABILIDAD GUBERNAMENTALWILSON VELASTEGUI
 
Contabilidad gubernamental
Contabilidad gubernamentalContabilidad gubernamental
Contabilidad gubernamentalalquimista__fb
 
Ab) contabilidad gubernamental
Ab) contabilidad gubernamentalAb) contabilidad gubernamental
Ab) contabilidad gubernamentalUNEG
 
Ejercicio contabilidad gubernamental 1
Ejercicio contabilidad gubernamental 1Ejercicio contabilidad gubernamental 1
Ejercicio contabilidad gubernamental 1Favio Meneses
 
Manual de contabilidad gubernamental 2013 - i - ii
Manual de contabilidad gubernamental  2013 - i - iiManual de contabilidad gubernamental  2013 - i - ii
Manual de contabilidad gubernamental 2013 - i - iigilberto roman
 
15. el plan contable gubernamental
15. el plan contable gubernamental15. el plan contable gubernamental
15. el plan contable gubernamentalGeraldin Sanchez
 

Destacado (16)

APO1 - Presentacion nivel 6
APO1 - Presentacion nivel 6APO1 - Presentacion nivel 6
APO1 - Presentacion nivel 6
 
De diagrama de clase a Codigo Java
De diagrama de clase a Codigo JavaDe diagrama de clase a Codigo Java
De diagrama de clase a Codigo Java
 
Persistencia jpa
Persistencia jpaPersistencia jpa
Persistencia jpa
 
Elemento 6 Plan Contable Gubernamental
Elemento 6 Plan Contable GubernamentalElemento 6 Plan Contable Gubernamental
Elemento 6 Plan Contable Gubernamental
 
Emprendimiento U 9
Emprendimiento U 9Emprendimiento U 9
Emprendimiento U 9
 
Flp plan de negocios 2015
Flp plan de negocios 2015Flp plan de negocios 2015
Flp plan de negocios 2015
 
Caracteristicas del plan contable gubernamental
Caracteristicas del plan contable gubernamentalCaracteristicas del plan contable gubernamental
Caracteristicas del plan contable gubernamental
 
PRINCIPIOS DE CONTABILIDAD GUBERNAMENTAL
PRINCIPIOS DE CONTABILIDAD GUBERNAMENTALPRINCIPIOS DE CONTABILIDAD GUBERNAMENTAL
PRINCIPIOS DE CONTABILIDAD GUBERNAMENTAL
 
Contabilidad gubernamental
Contabilidad gubernamentalContabilidad gubernamental
Contabilidad gubernamental
 
Ab) contabilidad gubernamental
Ab) contabilidad gubernamentalAb) contabilidad gubernamental
Ab) contabilidad gubernamental
 
Ejercicio contabilidad gubernamental 1
Ejercicio contabilidad gubernamental 1Ejercicio contabilidad gubernamental 1
Ejercicio contabilidad gubernamental 1
 
Contabilidad gubernamental
Contabilidad gubernamental Contabilidad gubernamental
Contabilidad gubernamental
 
Caso practico
Caso practicoCaso practico
Caso practico
 
Manual de contabilidad gubernamental 2013 - i - ii
Manual de contabilidad gubernamental  2013 - i - iiManual de contabilidad gubernamental  2013 - i - ii
Manual de contabilidad gubernamental 2013 - i - ii
 
Contabilidad gubernamental
Contabilidad gubernamentalContabilidad gubernamental
Contabilidad gubernamental
 
15. el plan contable gubernamental
15. el plan contable gubernamental15. el plan contable gubernamental
15. el plan contable gubernamental
 

Más de Mario Jose Villamizar Cano

e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...Mario Jose Villamizar Cano
 
Frameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startupsFrameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startupsMario Jose Villamizar Cano
 
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)Mario Jose Villamizar Cano
 
An Overview of Internet Startups and Entrepreneurship
An Overview of Internet Startups and EntrepreneurshipAn Overview of Internet Startups and Entrepreneurship
An Overview of Internet Startups and EntrepreneurshipMario Jose Villamizar Cano
 
Energy-aware VM Allocation on An Opportunistic Cloud Infrastructure
Energy-aware VM Allocation on An Opportunistic Cloud InfrastructureEnergy-aware VM Allocation on An Opportunistic Cloud Infrastructure
Energy-aware VM Allocation on An Opportunistic Cloud InfrastructureMario Jose Villamizar Cano
 
Emprendimiento en Internet / Internet Startups
Emprendimiento en Internet / Internet StartupsEmprendimiento en Internet / Internet Startups
Emprendimiento en Internet / Internet StartupsMario Jose Villamizar Cano
 
e-Clouds: a SaaS Marketplace for Scientific Computing
e-Clouds: a SaaS Marketplace for Scientific Computinge-Clouds: a SaaS Marketplace for Scientific Computing
e-Clouds: a SaaS Marketplace for Scientific ComputingMario Jose Villamizar Cano
 
Cloud computing oportunidades para empresarios y emprendedores
Cloud computing oportunidades para empresarios y emprendedoresCloud computing oportunidades para empresarios y emprendedores
Cloud computing oportunidades para empresarios y emprendedoresMario Jose Villamizar Cano
 
UnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
UnaCloud: Opportunistic Cloud Computing Infrastructure as a ServiceUnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
UnaCloud: Opportunistic Cloud Computing Infrastructure as a ServiceMario Jose Villamizar Cano
 
Bio-UnaGrid: Easing bioinformatics workflow execution
Bio-UnaGrid: Easing bioinformatics workflow executionBio-UnaGrid: Easing bioinformatics workflow execution
Bio-UnaGrid: Easing bioinformatics workflow executionMario Jose Villamizar Cano
 
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...Mario Jose Villamizar Cano
 
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...Mario Jose Villamizar Cano
 
Una grid una solución oportunista para la HPC en colombia
Una grid una solución oportunista para la HPC en colombiaUna grid una solución oportunista para la HPC en colombia
Una grid una solución oportunista para la HPC en colombiaMario Jose Villamizar Cano
 
Infraestructura computacional: Computación en grid
Infraestructura computacional: Computación en gridInfraestructura computacional: Computación en grid
Infraestructura computacional: Computación en gridMario Jose Villamizar Cano
 

Más de Mario Jose Villamizar Cano (17)

Emprendimiento en internet y startups 2017
Emprendimiento en internet y startups 2017Emprendimiento en internet y startups 2017
Emprendimiento en internet y startups 2017
 
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
e-Clouds A Platform and Marketplace to Access and Publish Scientific Applicat...
 
Frameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startupsFrameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startups
 
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
Desarrollo de Soluciones Escalables de Software como Servicio (SaaS)
 
An Overview of Internet Startups and Entrepreneurship
An Overview of Internet Startups and EntrepreneurshipAn Overview of Internet Startups and Entrepreneurship
An Overview of Internet Startups and Entrepreneurship
 
Energy-aware VM Allocation on An Opportunistic Cloud Infrastructure
Energy-aware VM Allocation on An Opportunistic Cloud InfrastructureEnergy-aware VM Allocation on An Opportunistic Cloud Infrastructure
Energy-aware VM Allocation on An Opportunistic Cloud Infrastructure
 
Emprendimiento en Internet / Internet Startups
Emprendimiento en Internet / Internet StartupsEmprendimiento en Internet / Internet Startups
Emprendimiento en Internet / Internet Startups
 
e-Clouds: a SaaS Marketplace for Scientific Computing
e-Clouds: a SaaS Marketplace for Scientific Computinge-Clouds: a SaaS Marketplace for Scientific Computing
e-Clouds: a SaaS Marketplace for Scientific Computing
 
Cloud computing oportunidades para empresarios y emprendedores
Cloud computing oportunidades para empresarios y emprendedoresCloud computing oportunidades para empresarios y emprendedores
Cloud computing oportunidades para empresarios y emprendedores
 
CLOUD COMPUTING HOY: Todo como Servicio.
CLOUD COMPUTING HOY: Todo como Servicio.CLOUD COMPUTING HOY: Todo como Servicio.
CLOUD COMPUTING HOY: Todo como Servicio.
 
UnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
UnaCloud: Opportunistic Cloud Computing Infrastructure as a ServiceUnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
UnaCloud: Opportunistic Cloud Computing Infrastructure as a Service
 
Bio-UnaGrid: Easing bioinformatics workflow execution
Bio-UnaGrid: Easing bioinformatics workflow executionBio-UnaGrid: Easing bioinformatics workflow execution
Bio-UnaGrid: Easing bioinformatics workflow execution
 
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
Taxonomía de los modelos de entrega de servicios, despliegue y facturación en...
 
An Opportunistic Storage System for UnaGrid
An Opportunistic Storage System for UnaGridAn Opportunistic Storage System for UnaGrid
An Opportunistic Storage System for UnaGrid
 
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
BacteriumSimulatorGrid (BSGrid) - Tool for Simulating the Behavior of the Bac...
 
Una grid una solución oportunista para la HPC en colombia
Una grid una solución oportunista para la HPC en colombiaUna grid una solución oportunista para la HPC en colombia
Una grid una solución oportunista para la HPC en colombia
 
Infraestructura computacional: Computación en grid
Infraestructura computacional: Computación en gridInfraestructura computacional: Computación en grid
Infraestructura computacional: Computación en grid
 

Último

EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOEveliaHernandez8
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...DavidBautistaFlores1
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
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.
 
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
 
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
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfSarayLuciaSnchezFigu
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAGUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAELIASPELAEZSARMIENTO1
 

Último (20)

EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 
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
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
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
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
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
 
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
 
recursos naturales america cuarto basico
recursos naturales america cuarto basicorecursos naturales america cuarto basico
recursos naturales america cuarto basico
 
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
 
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
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAGUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
 

APO2 - Presentacion nivel 9

  • 1. NIVEL 9 ALGORÍTMICA Y PROGRAMACIÓN 2 (APO 2) Mario José Villamizar Cano mj.villamizar24@uniandes.edu.co Oficina ML-637 http://sistemas.uniandes.edu.co/~mj.villamizar24/dokuwiki/doku.php Grupo de Tecnologías de Información y Comunicación (COMIT) Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá D.C., Colombia
  • 2. NIVEL 9 REDES SOCIALES mjvc007@hotmail.com http://twitter.com/mariocloud http://linkedin.com/in/mariojosevillamizarcano
  • 3. NIVEL 9 NIVEL 9 – ESTRUCTURAS LINEALES ENLAZADAS Caso de estudio 1 – Una Central de Pacientes Referencias y ciclos de vida de los objetos Estructuras lineales enlazadas Localización de elementos y recorridos Supresión de elementos Inserción de elementos Patrones de algoritmo Nuevos componentes gráficos (JRadioButton, ButtonGroup, JDialog)
  • 4. NIVEL 9 CASOS DE ESTUDIO Caso de estudio 1: Una Central de Pacientes
  • 5. NIVEL 9 CASOS DE ESTUDIO Caso de estudio 1: Una Central de Pacientes
  • 6. NIVEL 9 CASOS DE ESTUDIO Caso de estudio 2: Aerolínea
  • 7. NIVEL 9 CASOS DE ESTUDIO Caso de estudio 2: Aerolínea
  • 8. NIVEL 9 HOJAS DE TRABAJO Hoja de trabajo 1: Agenda
  • 9. NIVEL 9 HOJAS DE TRABAJO Hoja de trabajo 2: Cadenas de ADN
  • 10. NIVEL 9 HOJAS DE TRABAJO Hoja de trabajo 3: Cupi E-Mart
  • 11. NIVEL 9 HOJAS DE TRABAJO Hoja de trabajo 3: Cupi E-Mart
  • 12. NIVEL 9 CASOS DE ESTUDIO Caso de estudio 1: Una Central de Pacientes
  • 13. NIVEL 9 CASOS DE ESTUDIO Caso de estudio 1: Una Central de Pacientes
  • 14. NIVEL 9 CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES Requerimientos funcionales.
  • 15. NIVEL 9 CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES Requerimientos funcionales.
  • 16. NIVEL 9 CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES Requerimientos funcionales.
  • 17. NIVEL 9 CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES Modelo del Mundo con un Vector o ArrayList
  • 18. NIVEL 9 CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES Representación con un Vector o ArrayList :CentralPacientes :Paciente :Paciente :Paciente :Paciente pacientes = codigo=12 codigo=22 codigo=50 …… codigo=100 nombre=“Maria” nombre=“Juan” nombre=“Mary” nombre=“Lucas” 0 1 2 n
  • 19. NIVEL 9 CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES Modelo del Mundo con un Vector o ArrayList
  • 20. NIVEL 9 CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES Representación con una LISTA ENLAZADA SIMPLE :CentralPacientes :Paciente :Paciente :Paciente :Paciente null primero codigo=12 codigo=22 codigo=50 codigo=100 nombre=“Maria” nombre=“Juan” nombre=“Mary” nombre=“Lucas” Solo se tiene una referencia al primer elemento de la lista. Cada elemento de la lista tiene una referencia al siguiente- El último elemento de la lista tiene como referencia null es su atributo siguiente. El primer elemento de la lista generalmente se le denomina cabeza.
  • 21. NIVEL 9 CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES Modelo del Mundo con una LISTA ENLAZADA SIMPLE
  • 22. NIVEL 9 CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES Modelo de la Interfaz
  • 23. NIVEL 9 CASO DE ESTUDIO 1 – UNA CENTRAL DE PACIENTES Modelo de las Pruebas
  • 24. NIVEL 9 LISTAS ENLAZADAS SIMPLES Es una estructura de datos utilizada en problemas en los cuales es importante mantener ordenados un conjunto de valores y objetos. Son muy eficientes para la inserción y eliminación de elementos. Los desplazamientos en memoria para el caso de los arreglos es necesario hacerlo a mano. Los desplazamientos en memoria para el caso de los vectores o ArrayList los hace automáticamente Java, sin embargo, no lo hace de manera eficiente. Utilizadas principalmente en programas en los que hay muchas inserciones y eliminaciones de elementos, así como en programas en los cuales dichos elementos deben mantener o cumplir con alguna regla de ordenamiento.
  • 25. NIVEL 9 DECLARACIÓN DE UNA LISTA ENLAZADA SIMPLE La definición de una lista enlazada simple public class CentralPacientes { //---------------------------------------------------------------- // Atributos //---------------------------------------------------------------- /** * Primer paciente de la lista */ private Paciente primero; }
  • 26. NIVEL 9 INICIALIZACIÓN DE UNA LISTA ENLAZADA SIMPLE La inicialización de una lista enlazada simple public class CentralPacientes { public CentralPacientes( ) { Inicialmente la lista no tiene ningún paciente, primero = null; por lo cual primero se numPacientes = 0; inicializa en null } }
  • 27. NIVEL 9 DECLARACIÓN DE LOS ELEMENTOS DE LISTA ENLAZADA SIMPLE La inicialización de una lista enlazada simple public class Paciente { //--------------------------------------------- // Atributos //--------------------------------------------- private int codigo; private String nombre; private String clinica; private String informacionMedica; private int sexo; /** * Referencia al siguiente elemento */ Cada elemento de la private Paciente siguiente; lista puede tener una referencia al siguiente. }
  • 28. NIVEL 9 CREACIÓN DE UN NUEVO PACIENTE La creación de un objeto de la clase Paciente public class Paciente { //--------------------------------------------- // Métodos //--------------------------------------------- public Paciente( int cod, String nom, String clin, String infoMed, int sex ) { codigo = cod; nombre = nom; Al crear un objeto el clinica = clin; atributo siguiente informacionMedica = infoMed; referencia a null. sexo = sex; siguiente = null; } }
  • 29. NIVEL 9 OPERACIONES SOBRE LISTAS ENLAZADAS SIMPLES Búsquedas y recorridos Calcular el número de pacientes de sexo masculino. Buscar a un paciente dado su código. Buscar el número de pacientes asociados con una clínica. Buscar a un paciente dado su nombre. Inserción Insertar un nuevo paciente (al inicio, al final, después de otro paciente, antes de otro paciente). Eliminación Eliminar un paciente dado su código.
  • 30. NIVEL 9 BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES Recorrido total Definir el método dar número de pacientes en la clase CentralPacientes: El recorrido siempre empieza por la cabeza y se hace utilizando una public int darTotalPacientes( ) variable, regularmente { denominada actual. Paciente actual = primero; int numero = 0; El recorrido se hace en un ciclo, el cual se ejecuta siempre y cuando while( actual != null ) no se haya llegado al final de la { lista. numero++; Se efectúan las operaciones actual = actual.darSiguiente( ); requeridas sobre el elemento } actual. return numero; Se pide que actual ahora } referencia a su elemento siguiente.
  • 31. NIVEL 9 BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES Recorrido total Definir el método dar número de mujeres en la clase CentralPacientes: El recorrido siempre empieza por public int darNumeroMujeres ( ) la cabeza y se hace utilizando una { variable, regularmente Paciente actual = primero; denominada actual. int numero = 0; El recorrido se hace en un ciclo, el while( actual != null ) cual se ejecuta siempre y cuando { no se haya llegado al final de la if(actual.darSexo( )==Paciente.MUJER) lista. numero++; Se efectúan las operaciones actual = actual.darSiguiente( ); requeridas sobre el elemento } actual. return numero; Se pide que actual ahora } referencia a su elemento siguiente.
  • 32. NIVEL 9 BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES Recorrido parcial Definir el método hay un hombre en la clase CentralPacientes: El recorrido siempre empieza por public boolean hayUnHombre ( ) la cabeza y se hace utilizando una { variable, regularmente Paciente actual = primero; denominada actual. boolean termino= false; El recorrido se hace en un ciclo, el while( actual != null && !termino) cual se ejecuta siempre y cuando { no se haya llegado al final de la if(actual.darSexo( )==Paciente.HOMBRE) lista y no se haya cumplido una termino=true; condición. actual = actual.darSiguiente( ); Se efectúan las operaciones } requeridas sobre el elemento return termino; actual. } Se pide que actual ahora referencia a su elemento siguiente.
  • 33. NIVEL 9 BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES Ejercicio de recorrido y búsquedas Definir el método dar sexo menor número de pacientes en la clase CentralPacientes. Este método retorna el sexo que tiene el menor número de pacientes, es decir las constantes HOMBRE o MUJER, en caso de haber empate el método debe retornar -1. public int darSexoMenorNumeroPacientes ( ) { }
  • 34. NIVEL 9 BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES Ejercicio de recorrido y búsquedas Definir el método dar paciente mayor código en la clase CentralPacientes: public Paciente darPacienteMayorCodigo ( ) { }
  • 35. NIVEL 9 BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES Ejercicio de recorrido y búsquedas Definir el método dar último paciente en la clase CentralPacientes. Este método retorna null en caso de que no hayan pacientes. public Paciente darUltimoPaciente( ) { }
  • 36. NIVEL 9 BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES Ejercicio de recorrido y búsquedas Definir el método dar última mujer de la lista en la clase CentralPacientes. Este método retorna null en caso de que no haya una mujer en la lista. public Paciente darUltimaMujer ( ) { }
  • 37. NIVEL 9 BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES Ejercicio de recorrido y búsquedas Definir el método retornar pacientes en ArrayList, en la clase CentralPacientes. public ArrayList retornarPacientesEnArrayList ( ) { }
  • 38. NIVEL 9 BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES Ejercicio de recorrido y búsquedas (DOBLE RECORRIDO) Definir el método hay dos pacientes con el mismo nombre en la clase CentralPacientes. public boolean hayDosPacientesConElMismoNombre ( ) { }
  • 39. NIVEL 9 BÚSQUEDAS Y RECORRIDOS EN LISTAS ENLAZADAS SIMPLES Ejercicio de recorrido y búsquedas (DOBLE RECORRIDO) Definir el método hay dos pacientes de la misma clínica en la clase CentralPacientes. public boolean hayDosPacientesDeLaMismaClinica ( ) { }
  • 40. NIVEL 9 PATRÓN DE RECORRIDO TOTAL Consiste en pararse una vez en cada uno de los elementos de la lista. Nodo actual = primero; while( actual != null ) { …………… actual = actual.darSiguiente( ); }
  • 41. NIVEL 9 PATRÓN DE RECORRIDO PARCIAL PARA LOCALIZAR EL ÚTIMO ELEMENTO Consiste en localizar el último elemento de la lista. if ( primero != null ) { Nodo actual = primero; while( actual.darSiguiente() != null ) { …………… actual = actual.darSiguiente( ); } ………… }
  • 42. NIVEL 9 PATRÓN DE RECORRIDO PARCIAL HASTA QUE UN ELEMENTO CUMPLA UNA CONDICIÓN Consiste en verificar que una condición se cumple sobre por lo menos un elemento de la lista. Nodo actual = primero; boolean termino = false; while( actual != null && !termino ) { ………….. actual = actual.darSiguiente( ); } ……………
  • 43. NIVEL 9 PATRÓN DE RECORRIDO PARCIAL HASTA QUE UNA CONDICIÓN SE CUMPLA SOBRE EL SIGUIENTE ELEMENTO Consiste en verificar que una condición se cumple sobre el siguiente elemento de por lo menos uno de los elementos de la lista. Nodo actual = primero; Nodo anterior = null; boolean termino = false; while( actual != null && !termino ) { ………….. anterior = actual; actual = actual.darSiguiente( ); } ……………
  • 45. NIVEL 9 HOJA DE TRABAJO
  • 46. NIVEL 9 INSERCIÓN EN LISTAS ENLAZADAS SIMPLES Problemas de inserción típicos Insertar un elemento al inicio de la lista. Insertar un elemento al final de la lista. Insertar un elemento después de otro elemento. Insertar un elemento antes de otro elemento.
  • 47. NIVEL 9 INSERCIÓN EN LISTAS ENLAZADAS SIMPLES Problemas de inserción típicos – AL INICIO DE LA LISTA Definir el método agregar paciente al comienzo, en la clase CentralPacientes: public void agregarPacienteAlComienzo( Paciente pac ) { if( primero == null ) Se supone que el paciente { ya se creó normalmente y Se crea la cabeza si no que su referencia a siguiente primero = pac; existe } es null. else { pac.cambiarSiguiente( primero ); Se realiza la adición antes primero = pac; del paciente que está al } inicio de la lista numPacientes++; }
  • 48. NIVEL 9 INSERCIÓN EN LISTAS ENLAZADAS SIMPLES Problemas de inserción típicos – AL FINAL DE LA LISTA Definir el método agregar paciente al final, en la clase CentralPacientes: public void agregarPacienteAlFinal( Paciente pac ) { if( primero == null ) Se supone que el paciente { ya se creó normalmente y Se crea la cabeza si no que su referencia a siguiente primero = pac; existe } es null. else { Paciente p = localizarUltimo( ); Se realiza la adición p.insertarDespues( pac ); después del paciente que } está al final de la lista numPacientes++; }
  • 49. NIVEL 9 INSERCIÓN EN LISTAS ENLAZADAS SIMPLES Problemas de inserción típicos – INSERTAR DESPUÉS DE OTRO ELEMENTO Definir el método agregar paciente después de otro, en la clase CentralPacientes: public void agregarPacienteDespuesDe( int cod, Paciente pac ) throws NoExisteException { Se supone que el paciente Identificador del ya se creó normalmente y elemento anterior que su referencia a siguiente Paciente anterior = localizar( cod ); es null. if( anterior == null ) Se localiza el paciente throw new NoExisteException( cod ); anterior else anterior.insertarDespues( pac ); Se adiciona el nuevo numPacientes++; paciente después del anterior }
  • 50. NIVEL 9 INSERCIÓN EN LISTAS ENLAZADAS SIMPLES Problemas de inserción típicos – INSERTAR ANTES DE OTRO ELEMENTO Definir el método agregar paciente antes de otro, en la clase CentralPacientes: public void agregarPacienteAntesDe( int cod, Paciente pac ) throws NoExisteException { if( primero == null ) throw new NoExisteException( cod ); else if( cod == primero.darCodigo( ) ) { pac.cambiarSiguiente( primero ); primero = pac; } else { Paciente anterior = localizarAnterior( cod ); if( anterior == null ) throw new NoExisteException( cod ); anterior.insertarDespues( pac ); } numPacientes++; }
  • 51. NIVEL 9 ELIMINACIÓN EN LISTAS ENLAZADAS SIMPLES Problemas de inserción típicos – ELIMINAR UN ELEMENTO DE LA LISTA Definir el método eliminar paciente, en la clase CentralPacientes: public void eliminarPaciente( int cod ) throws NoExisteException { if( primero == null ) throw new NoExisteException( cod ); else if( cod == primero.darCodigo( ) ) { primero = primero.darSiguiente( ); // El paciente es el primero de la lista } else { // El paciente es un elemento intermedio de la lista Paciente anterior = localizarAnterior( cod ); if( anterior == null ) throw new NoExisteException( cod ); anterior.desconectarSiguiente( ); } numPacientes--; }
  • 52. NIVEL 9 ELIMINACIÓN EN LISTAS ENLAZADAS SIMPLES Problemas de inserción típicos – ELIMINAR UN ELEMENTO DE LA LISTA Definir el método eliminar paciente, en la clase CentralPacientes: public void eliminarPaciente( int cod ) throws NoExisteException { if( primero == null ) throw new NoExisteException( cod ); else if( cod == primero.darCodigo( ) ) { primero = primero.darSiguiente( ); // El paciente es el primero de la lista } else { // El paciente es un elemento intermedio de la lista Paciente anterior = localizarAnterior( cod ); if( anterior == null ) throw new NoExisteException( cod ); anterior.desconectarSiguiente( ); } numPacientes--; }
  • 53. NIVEL 9 INTERFAZ PRINCIPAL Caso de estudio 1: Una Central de Pacientes
  • 54. NIVEL 9 COMPONENTE JDialog Caso de estudio 1: Una Central de Pacientes
  • 55. NIVEL 9 Diálogos (JDialog) Métodos setSize(ancho, alto) setResizable(cambiable) setTitle(titulo) setDefaultCloseOperation(EXIT_ ON_CLOSE) setVisible(esVisible) add(componente) Puede ser modal o no modal. Método setLayout( ) del contenedor gráfico. Se aplican los tipos de layout BorderLayout y GridLayout igual a un JFrame.
  • 56. NIVEL 9 DIAGRAMA DE CLASES CON JDialog Modelo de la Interfaz Cada JDialog tiene una referencia Las líneas punteadas indican a la interfaz principal. dependencias (no son atributos).
  • 57. NIVEL 9 EJEMPLO DE CREACIÓN DE UN JDialog Cada JDialog tiene una referencia a la interfaz principal.
  • 58. NIVEL 9 COMO ABRIR UN JDialog DESDE LA INTERFAZ Las líneas punteadas indican dependencias (no son atributos).
  • 61. NIVEL 9 COMPONENTE JRadioButton y ButtonGroup Al panel se adicionan los JRadioButton, NO el ButtonGroup
  • 65. NIVEL 9 HOJA DE TRABAJO
  • 66. NIVEL 9 CASOS DE ESTUDIO Caso de estudio 2: Aerolínea
  • 67. NIVEL 9 CASOS DE ESTUDIO Caso de estudio 2: Aerolínea
  • 68. NIVEL 9 CASO DE ESTUDIO 2 – AEROLÍNEA Requerimientos funcionales.
  • 69. NIVEL 9 CASO DE ESTUDIO 2 – AEROLÍNEA Requerimientos funcionales.
  • 70. NIVEL 9 CASO DE ESTUDIO 2 – AEROLÍNEA Requerimientos funcionales.
  • 71. NIVEL 9 CASO DE ESTUDIO 2 – AEROLÍNEA Requerimientos funcionales.
  • 72. NIVEL 9 CASO DE ESTUDIO 2 – AEROLÍNEA Modelo del Mundo
  • 73. NIVEL 9 CASO DE ESTUDIO 2 – AEROLÍNEA Modelo de la Interfaz
  • 74. NIVEL 9 CASO DE ESTUDIO 2 – AEROLÍNEA Modelo de las Pruebas
  • 75. NIVEL 9 CASO DE ESTUDIO 2 – AEROLÍNEA Representación con una Lista Doblemente Enlazada :Ciudad vuelo1 :Vuelo :Vuelo :Vuelo :Vuelo null null codigo=30 codigo=80 codigo=50 codigo=100
  • 76. NIVEL 9 OPERACIONES SOBRE LISTAS ENLAZADAS DOBLES Búsquedas y recorridos (Similar a como se hace en la listas simples) Calcular el número de vuelos que tienen por lo menos una silla disponible. Buscar a un vuelo dado su código. Buscar si un usuario tiene una reserva en un vuelo. Inserción Insertar un nuevo vuelo (al inicio, al final, después de otro vuelo, antes de otro vuelo). Eliminación Eliminar un vuelo dado su código.
  • 77. NIVEL 9 ARREGLOS DE CONSTANTES
  • 78. NIVEL 9 MANEJO DE FECHAS Y FORMATOS
  • 79. NIVEL 9 NUEVOS DISTRIBUIDORES GRÁFICOS Distribuidor secuencial - FlowLayout Distribuidor GridBagLayout
  • 80. NIVEL 9 Distribuidor secuencial - FlowLayout Sitúa todos los componentes que se encuentran dentro del contenedor gráfico, uno después de otro de izquierda a derecha. Tiene en cuenta el orden de llegada y respeta el tamaño preferido que tienen establecidos cada uno de los componentes gráficos. Si se termina el espacio en una fila, el distribuidor comienza a usar la siguiente.
  • 83. NIVEL 9 Distribuidor GridBagLayout Distribuidor muy flexible que permite crear interfaces gráficas de usuario con una estructura profesional. Utiliza una malla dinámica en la que cada componente puede utilizar una o más celdas. Implementado por dos clases en Java: GridBagLayout: El distribuidor GridBagConstraints: Describe las características (posición, tamaño, forma de adaptarse a los cambios de tamaño, etc. En el método add para adicionar un nuevo componente al distribuidor, se debe pasar como parámetro una instancia de la clase GridBagConstraints. Se verán las principales características de este distribuidor. Para una documentación más completa se recomienda consultar la documentación de las clases GridBagLayout y GridBagConstraints.
  • 84. NIVEL 9 Objetos de la Clase GridBagConstraints Un objeto de la clase GridBagConstraints tiene definidos (entre otros) los siguientes atributos. gridx: Coordenada X de la celda de la malla del distribuidor donde comienza el componente. Coordenada X 0 1 2 0 Coordenada Y 1 2
  • 85. NIVEL 9 Objetos de la Clase GridBagConstraints Un objeto de la clase GridBagConstraints tiene definidos (entre otros) los siguientes atributos. gridy: Coordenada Y de la celda de la malla del distribuidor donde comienza el componente. gridwitdh: Número de casillas que va a ocupar el componente en la dirección X. gridheigh: Número de casillas que va a ocupar el componente en la dirección Y.
  • 86. NIVEL 9 Objetos de la Clase GridBagConstraints Un objeto de la clase GridBagConstraints tiene definidos (entre otros) los siguientes atributos. fill: Usado cuando el espacio reservado para el componente es mayor que el espacio que el componente necesita. Puede tomar los siguientes valores: GridBagConstraints.NONE (valor por defecto y corresponde a no hacer nada). GridBagConstraints.HORIZONTAL (cambia el tamaño del componente en la dirección horizontal). GridBagConstraints.VERTICAL (cambia el tamaño del componente en la dirección vertical). GridBagConstraints.BOTH (hace cambios en la dos dimensiones para ocupar todo el espacio disponible en el distribuidor).
  • 87. NIVEL 9 Objetos de la Clase GridBagConstraints Un objeto de la clase GridBagConstraints tiene definidos (entre otros) los siguientes atributos. weightx: Define la manera como se va a distribuir el espacio extra en la dimensión X. Utilizado principalmente cuando se cambie el tamaño del contenedor gráfico. weighty: Define la manera como se va a distribuir el espacio extra en la dimensión Y. Utilizado principalmente cuando se cambie el tamaño del contenedor gráfico.
  • 88. NIVEL 9 Ejemplo con GridBagLayout
  • 89. NIVEL 9 Ejemplo con GridBagLayout
  • 90. NIVEL 9 Ejemplo con GridBagLayout
  • 91. NIVEL 9 Ejemplo con GridBagLayout
  • 92. NIVEL 9 Ejemplo con GridBagLayout
  • 93. NIVEL 9 Ejemplo con GridBagLayout
  • 95. NIVEL 9 HOJA DE TRABAJO