SlideShare ist ein Scribd-Unternehmen logo
1 von 95
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Andere mochten auch

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
 

Andere mochten auch (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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 

Kürzlich hochgeladen (20)

Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 

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