SlideShare una empresa de Scribd logo
1 de 6
Los layout managers o manejadores de composición, en traducción literal, ayudan a adaptar los diversos
Componentes que se desean incorporar a un Panel, es decir, especifican la apariencia que tendrán los
Componentes a la hora de colocarlos sobre un Contenedor, controlando tamaño y posición (layout)
automáticamente. Java dispone de varios, en la actual versión, tal como se muestra en la imagen:




¿Por qué Java proporciona estos esquemas predefinidos de disposición de componentes? La razón es
simple: imaginemos que se desean agrupar objetos de distinto tamaño en celdas de una rejilla virtual: si
confiados en nuestro conocimiento de un sistema gráfico determinado, se codificase a mano tal
disposición, se debería preveer el redimensionamiento del applet, su repintado cuando sea cubierto por
otra ventana, etc., además de todas las cuestiones relacionadas con un posible cambio de plataforma (uno
nunca sabe a donde van a ir a parar los propios hijos, o los applets).

Sigamos imaginando, ahora, que un hábil equipo de desarrollo ha previsto las disposiciones gráficas más
usadas y ha creado un gestor para cada una de tales configuraciones, que se ocupará, de forma
transparente para nosotros, de todas esas cuitas de formatos. Bien, pues estos gestores son instancias de
las distintas clases derivadas de LayoutManager y que se utilizan en el applet que genera la figura
siguiente, donde se muestran los diferentes tipos de layouts que proporciona el AWT.
FlowLayout

Es el más simple y el que se utiliza por defecto en todos los Paneles si no se fuerza el uso de alguno de los
otros. Los Componentes añadidos a un Panel con FlowLayout se encadenan en forma de lista. La cadena
es horizontal, de izquierda a derecha, y se puede seleccionar el espaciado entre cada Componente.

Si el Contenedor se cambia de tamaño en tiempo de ejecución, las posiciones de los Componentes se
ajustarán automáticamente, para colocar el máximo número posible de Componentes en la primera línea.

Los Componentes se alinean según se indique en el constructor. Si no se indica nada, se considera que los
Componentes que pueden estar en una misma línea estarán centrados, pero también se puede indicar que
se alineen a izquierda o derecha en el Contenedor.




Codigo Ejemplo
Instancia un objeto FlowLayout object alieado al Centro
// y con una separacion de 3 pixels en horizonal y vertical

FlowLayout miFlowLayout = new FlowLayout( FlowLayout.CENTER,3,3 );

// Se fija este FlowLayout para que sea el controlador de
// posicionamiento de componentes para el objeto Frame

miFrame.setLayout( miFlowLayout );
BorderLayout

La composición BorderLayout (de borde) proporciona un esquema más complejo de colocación de los
Componentes en un panel. La composición utiliza cinco zonas para colocar los Componentes sobre ellas:
Norte, Sur, Este, Oeste y Centro. Es el layout o composición que se utilizan por defecto Frame y Dialog.

El Norte ocupa la parte superior del panel, el Este ocupa el lado derecho, Sur la zona inferior y Oeste el
lado izquierdo. Centro representa el resto que queda, una vez que se hayan rellenado las otras cuatro
partes. Así, este controlador de posicionamiento resuelve los problemas de cambio de plataforma de
ejecución de la aplicación, pero limita el número de Componentes que pueden ser colocados en
Contenedor a cinco; aunque, si se va a construir un interfaz gráfico complejo, algunos de estos cinco
Componentes pueden Contenedores, con lo cual el número de Componentes puede verse ampliado.

En los cuatro lados, los Componentes se colocan y redimensionan de acuerdo a sus tamaños preferidos y
a los valores de separación que se hayan fijado al Contenedor. El tamaño prefijado y el tamaño mínimo
son dos informaciones muy importantes en este caso, ya que un botón puede ser redimensionado a
proporciones cualesquiera; sin embargo, el diseñador puede fijar un tamaño preferido para la mejor
apariencia del botón. El controlador de posicionamiento puede utilizar este tamaño cuando no haya
indicaciones de separación en el Contenedor, o puede ignorarlo, dependiendo del esquema que utilice.
Ahora bien, si se coloca una etiqueta en el botón, se puede indicar un tamaño mínimo de ese botón para
que siempre sea visible, al menos, el rótulo del botón. En este caso, el controlador de posicionamiento
muestra un total respeto a este valor y garantiza que por lo menos ese espacio estará disponible para el
botón.




Codigo Ejemplo
Frame miFrame = new Frame( "Tutorial de Java, AWT" );
// Se instancia un objeto BorderLayout con una holgura en vertical y
// horizontal de 3 pixels

BorderLayout miBorderLayout = new BorderLayout( 3,3 );

// Se fija este BorderLayout para que sea el controlador de
// posicionamiento de componentes para el objeto Frame

miFrame.setLayout( miBorderLayout );
CardLayout

Este es el tipo de composición que se utiliza cuando se necesita una zona de la ventana que permita
colocar distintos Componentes en esa misma zona. Este layout suele ir asociado con botones de selección
(Choice), de tal modo que cada selección determina el panel (grupo de componentes) que se presentarán.




Codigo Ejemplo
panel1.setLayout( miGridLayout );
// Se instancia un objeto layout de tipo CardLayout para ser
      // utilizado con el Panel

CardLayout miCardLayout = new CardLayout();


     // Instancia el primero de los dos objetos Panel que sera
     // integrado en el objeto Frame
     Panel panel1 = new Panel();
     // Fijamos el layout que habiamos definido para el panel
     panel1.setLayout( miCardLayout );


Frame miFrame = new Frame( "Tutorial de Java, AWT" );
// IMPORTANTE: Se añaden los dos objetos Panel que se han
// preparado al objeto Frame para crear el interfaz definitivo
miFrame.add( panel1,"North" );
GridLayout
La composición GridLayout proporciona gran flexibilidad para situar Componentes. El controlador de
posicionamiento se crea con un determinado número de filas y columnas y los Componentes van dentro
de las celdas de la tabla así definida.

Si el Contenedor es alterado en su tamaño en tiempo de ejecución, el sistema intentará mantener el mismo
número de filas y columnas dentro de los márgenes de separación que se hayan indicado. En este caso,
estos márgenes tienen prioridad sobre el tamaño mínimo que se haya indicado para los Componentes, por
lo que puede llegar a conseguirse que sean de un tamaño tan pequeño que sus etiquetas sean ilegibles.




Codigo Ejemplo
panel1.setLayout( miGridLayout );
// Se instancia un objeto layout de tipo GridLayout para ser
      // utilizado con el Panel
      GridLayout miGridLayout = new GridLayout( 2,3 );

    // Instancia el primero de los dos objetos Panel que sera
    // integrado en el objeto Frame
    Panel panel1 = new Panel();
    // Fijamos el layout que habiamos definido para el panel
    panel1.setLayout( miGridLayout );


Frame miFrame = new Frame( "Tutorial de Java, AWT" );
// IMPORTANTE: Se añaden los dos objetos Panel que se han
// preparado al objeto Frame para crear el interfaz definitivo
miFrame.add( panel1,"North" );
GridBagLayout
Es igual que la composición de GridLayout, con la diferencia que los Componentes no necesitan tener el
mismo tamaño. Es quizá el controlador de posicionamiento más sofisticado de los que actualmente
soporta AWT.

A la hora de ponerse a trabajar con este controlador de posicionamiento, hay que tomar el rol de un
auténtico aventurero. Parece que la filosofía de la gente de JavaSoft es que todo debe hacerse en el
código. La verdad es que hasta que no haya en Java algo semejante a los recursos de X, el trabajo del
programador, si quiere prescindir de herramientas de diseño, es un tanto prehistórico en su forma de hacer
las cosas.




Si el lector acepta una recomendación, el consejo es que evite como la peste el uso del GridBagLayout,
porque tanta sofisticación lo único que acarrea son dolores de cabeza; y, siempre se puede recurrir a la
técnica de combinar varios paneles utilizando otros controladores de posicionamiento, dentro del mismo
programa. Loa applets no apreciarán esta diferencia, al menos no tanto como para justificar los problemas
que conlleva el uso del GridBagLayout

Más contenido relacionado

La actualidad más candente

La actualidad más candente (16)

Resumen de mindstorms education 3
Resumen de mindstorms education 3Resumen de mindstorms education 3
Resumen de mindstorms education 3
 
Resumen de mindstorms education 3
Resumen de mindstorms education 3Resumen de mindstorms education 3
Resumen de mindstorms education 3
 
Swing, awt y JOptionPane de java
Swing, awt y JOptionPane de java Swing, awt y JOptionPane de java
Swing, awt y JOptionPane de java
 
4 manipular botones
4 manipular botones4 manipular botones
4 manipular botones
 
Interfaz gráfica de usuario
Interfaz gráfica de usuarioInterfaz gráfica de usuario
Interfaz gráfica de usuario
 
Breve tutorial en castellano de Modellus 4.01
Breve tutorial en castellano de Modellus 4.01Breve tutorial en castellano de Modellus 4.01
Breve tutorial en castellano de Modellus 4.01
 
Action scrip
Action scrip Action scrip
Action scrip
 
Manual básico del software modellus 4
Manual básico del software modellus 4Manual básico del software modellus 4
Manual básico del software modellus 4
 
Manual de ares proteus
Manual de ares proteus Manual de ares proteus
Manual de ares proteus
 
Unidad 4 "Manipular botones"
Unidad 4 "Manipular botones"Unidad 4 "Manipular botones"
Unidad 4 "Manipular botones"
 
Guia rompecabezas
Guia  rompecabezasGuia  rompecabezas
Guia rompecabezas
 
Swing
SwingSwing
Swing
 
Matlab
MatlabMatlab
Matlab
 
Manual de usuario hp 50g
Manual de usuario hp 50gManual de usuario hp 50g
Manual de usuario hp 50g
 
PDF 11
PDF 11PDF 11
PDF 11
 
Dfd
DfdDfd
Dfd
 

Destacado

День здоровья ноябрь
День здоровья   ноябрьДень здоровья   ноябрь
День здоровья ноябрьlesik1990
 
Microfinance in costa rica
Microfinance in costa ricaMicrofinance in costa rica
Microfinance in costa ricaemorau886
 
La educación como derecho pablo pineau
La educación como derecho pablo pineauLa educación como derecho pablo pineau
La educación como derecho pablo pineauNorma Nediani
 
CREAR ASOCIACIÓN
CREAR ASOCIACIÓNCREAR ASOCIACIÓN
CREAR ASOCIACIÓNfnavmat
 
Tipos de cliente
Tipos de clienteTipos de cliente
Tipos de clientedr3c0
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosalexrlg
 
Competencias tecnologicas y curriculo
Competencias tecnologicas y curriculoCompetencias tecnologicas y curriculo
Competencias tecnologicas y curriculoYeridiana Sánchezz
 
Pensando a facebook, una aproximación colectiva por
Pensando a facebook, una aproximación colectiva porPensando a facebook, una aproximación colectiva por
Pensando a facebook, una aproximación colectiva porYeridiana Sánchezz
 
Tecnologías de la información y la comunicación (
Tecnologías de la información y la comunicación (Tecnologías de la información y la comunicación (
Tecnologías de la información y la comunicación (dego123456789
 
Gutierrez andreina tema1b.doc
Gutierrez andreina tema1b.docGutierrez andreina tema1b.doc
Gutierrez andreina tema1b.docandreinayepez13
 
Chhattisgarh handicraft
Chhattisgarh handicraftChhattisgarh handicraft
Chhattisgarh handicraftTarkesh Sinha
 
وزارة شؤون الشباب والرياضة
وزارة شؤون الشباب والرياضةوزارة شؤون الشباب والرياضة
وزارة شؤون الشباب والرياضةTunisieArp
 
Social Development of 5 And 6 Year Old Children in Terms of Employment Status...
Social Development of 5 And 6 Year Old Children in Terms of Employment Status...Social Development of 5 And 6 Year Old Children in Terms of Employment Status...
Social Development of 5 And 6 Year Old Children in Terms of Employment Status...inventionjournals
 
Natal e reveillon 2016
Natal e reveillon 2016Natal e reveillon 2016
Natal e reveillon 2016Susanna Tocca
 

Destacado (20)

День здоровья ноябрь
День здоровья   ноябрьДень здоровья   ноябрь
День здоровья ноябрь
 
Microfinance in costa rica
Microfinance in costa ricaMicrofinance in costa rica
Microfinance in costa rica
 
WSys Servicios
WSys ServiciosWSys Servicios
WSys Servicios
 
Tortas
TortasTortas
Tortas
 
La educación como derecho pablo pineau
La educación como derecho pablo pineauLa educación como derecho pablo pineau
La educación como derecho pablo pineau
 
CREAR ASOCIACIÓN
CREAR ASOCIACIÓNCREAR ASOCIACIÓN
CREAR ASOCIACIÓN
 
Tipos de cliente
Tipos de clienteTipos de cliente
Tipos de cliente
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Jhooanna Dueñas Buitrago 40505039
Jhooanna Dueñas Buitrago 40505039Jhooanna Dueñas Buitrago 40505039
Jhooanna Dueñas Buitrago 40505039
 
"Схеми"
"Схеми""Схеми"
"Схеми"
 
Competencias tecnologicas y curriculo
Competencias tecnologicas y curriculoCompetencias tecnologicas y curriculo
Competencias tecnologicas y curriculo
 
Practica eventos
Practica eventosPractica eventos
Practica eventos
 
Pensando a facebook, una aproximación colectiva por
Pensando a facebook, una aproximación colectiva porPensando a facebook, una aproximación colectiva por
Pensando a facebook, una aproximación colectiva por
 
Vitaminas
VitaminasVitaminas
Vitaminas
 
Tecnologías de la información y la comunicación (
Tecnologías de la información y la comunicación (Tecnologías de la información y la comunicación (
Tecnologías de la información y la comunicación (
 
Gutierrez andreina tema1b.doc
Gutierrez andreina tema1b.docGutierrez andreina tema1b.doc
Gutierrez andreina tema1b.doc
 
Chhattisgarh handicraft
Chhattisgarh handicraftChhattisgarh handicraft
Chhattisgarh handicraft
 
وزارة شؤون الشباب والرياضة
وزارة شؤون الشباب والرياضةوزارة شؤون الشباب والرياضة
وزارة شؤون الشباب والرياضة
 
Social Development of 5 And 6 Year Old Children in Terms of Employment Status...
Social Development of 5 And 6 Year Old Children in Terms of Employment Status...Social Development of 5 And 6 Year Old Children in Terms of Employment Status...
Social Development of 5 And 6 Year Old Children in Terms of Employment Status...
 
Natal e reveillon 2016
Natal e reveillon 2016Natal e reveillon 2016
Natal e reveillon 2016
 

Similar a Layout

Similar a Layout (20)

Curso java 6
Curso java 6Curso java 6
Curso java 6
 
Layouts - Java
Layouts - JavaLayouts - Java
Layouts - Java
 
Vbr Awt 01
Vbr Awt 01Vbr Awt 01
Vbr Awt 01
 
Swing intefaz grafica de usuario
Swing intefaz grafica de usuarioSwing intefaz grafica de usuario
Swing intefaz grafica de usuario
 
AWT- JAVA
AWT- JAVAAWT- JAVA
AWT- JAVA
 
abstract window tool kit
abstract window tool kitabstract window tool kit
abstract window tool kit
 
Entorno grafico en Java
Entorno grafico en JavaEntorno grafico en Java
Entorno grafico en Java
 
Entorno gráfico en Java
Entorno gráfico en JavaEntorno gráfico en Java
Entorno gráfico en Java
 
Introduccion de-aplicaciones-visuales
Introduccion de-aplicaciones-visualesIntroduccion de-aplicaciones-visuales
Introduccion de-aplicaciones-visuales
 
Gestores de diseño
Gestores de diseñoGestores de diseño
Gestores de diseño
 
Gestores de diseño
Gestores de diseñoGestores de diseño
Gestores de diseño
 
Gestores de diseño
Gestores de diseñoGestores de diseño
Gestores de diseño
 
Clase 5 JAVA 2012
Clase 5 JAVA 2012Clase 5 JAVA 2012
Clase 5 JAVA 2012
 
Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)
 
Programacion en JAVA 2
Programacion en JAVA 2Programacion en JAVA 2
Programacion en JAVA 2
 
Tutorial java fx_8_espanol
Tutorial java fx_8_espanolTutorial java fx_8_espanol
Tutorial java fx_8_espanol
 
Trabajo teórico exposcición
Trabajo teórico exposciciónTrabajo teórico exposcición
Trabajo teórico exposcición
 
Articulo programacion java (1)
Articulo programacion  java (1)Articulo programacion  java (1)
Articulo programacion java (1)
 
Programacion_II_04_disposicion_contenedores
Programacion_II_04_disposicion_contenedoresProgramacion_II_04_disposicion_contenedores
Programacion_II_04_disposicion_contenedores
 
Confección de interfaces de usuario con JAVA - SWING
Confección de interfaces de usuario con JAVA - SWINGConfección de interfaces de usuario con JAVA - SWING
Confección de interfaces de usuario con JAVA - SWING
 

Más de Boris Salleg

01. capitulo 2 6 validacion de datos
01. capitulo 2  6 validacion de datos01. capitulo 2  6 validacion de datos
01. capitulo 2 6 validacion de datosBoris Salleg
 
03. prueba de conocimiento inicial excel basico terminada
03. prueba de conocimiento inicial excel basico terminada03. prueba de conocimiento inicial excel basico terminada
03. prueba de conocimiento inicial excel basico terminadaBoris Salleg
 
01. contenido curso internet basico
01. contenido curso internet basico01. contenido curso internet basico
01. contenido curso internet basicoBoris Salleg
 
Contenido curso excel basico
Contenido curso excel basicoContenido curso excel basico
Contenido curso excel basicoBoris Salleg
 
Compromiso academico servicios de internet
Compromiso academico servicios de internetCompromiso academico servicios de internet
Compromiso academico servicios de internetBoris Salleg
 
Compromiso academico excel basico
Compromiso academico excel basicoCompromiso academico excel basico
Compromiso academico excel basicoBoris Salleg
 
Taller #1 institucion educativa las margaritas
Taller #1   institucion educativa las margaritasTaller #1   institucion educativa las margaritas
Taller #1 institucion educativa las margaritasBoris Salleg
 
Introduccion base de datos
Introduccion base de datosIntroduccion base de datos
Introduccion base de datosBoris Salleg
 
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspExplicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspBoris Salleg
 
Conexion bd en java y api necesaria
Conexion bd en java y api necesariaConexion bd en java y api necesaria
Conexion bd en java y api necesariaBoris Salleg
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionBoris Salleg
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionBoris Salleg
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completoBoris Salleg
 
Introduccion base de datos con MYSQL
Introduccion base de datos con MYSQLIntroduccion base de datos con MYSQL
Introduccion base de datos con MYSQLBoris Salleg
 
Practica utilizacion de beans en jsp
Practica  utilizacion de beans en jspPractica  utilizacion de beans en jsp
Practica utilizacion de beans en jspBoris Salleg
 
Utilizacion de beans en jsp
Utilizacion de beans en jspUtilizacion de beans en jsp
Utilizacion de beans en jspBoris Salleg
 

Más de Boris Salleg (20)

01. capitulo 2 6 validacion de datos
01. capitulo 2  6 validacion de datos01. capitulo 2  6 validacion de datos
01. capitulo 2 6 validacion de datos
 
03. prueba de conocimiento inicial excel basico terminada
03. prueba de conocimiento inicial excel basico terminada03. prueba de conocimiento inicial excel basico terminada
03. prueba de conocimiento inicial excel basico terminada
 
01. contenido curso internet basico
01. contenido curso internet basico01. contenido curso internet basico
01. contenido curso internet basico
 
Contenido curso excel basico
Contenido curso excel basicoContenido curso excel basico
Contenido curso excel basico
 
Compromiso academico servicios de internet
Compromiso academico servicios de internetCompromiso academico servicios de internet
Compromiso academico servicios de internet
 
Compromiso academico excel basico
Compromiso academico excel basicoCompromiso academico excel basico
Compromiso academico excel basico
 
Taller #1 institucion educativa las margaritas
Taller #1   institucion educativa las margaritasTaller #1   institucion educativa las margaritas
Taller #1 institucion educativa las margaritas
 
Arboles
ArbolesArboles
Arboles
 
Introduccion base de datos
Introduccion base de datosIntroduccion base de datos
Introduccion base de datos
 
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspExplicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
 
Conexion bd en java y api necesaria
Conexion bd en java y api necesariaConexion bd en java y api necesaria
Conexion bd en java y api necesaria
 
Condicionales
CondicionalesCondicionales
Condicionales
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacion
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacion
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completo
 
Introduccion base de datos con MYSQL
Introduccion base de datos con MYSQLIntroduccion base de datos con MYSQL
Introduccion base de datos con MYSQL
 
Practica utilizacion de beans en jsp
Practica  utilizacion de beans en jspPractica  utilizacion de beans en jsp
Practica utilizacion de beans en jsp
 
Utilizacion de beans en jsp
Utilizacion de beans en jspUtilizacion de beans en jsp
Utilizacion de beans en jsp
 
Clase event
Clase eventClase event
Clase event
 
Manejoevento
ManejoeventoManejoevento
Manejoevento
 

Último

MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
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
 
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
 
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
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
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
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 

Último (20)

MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.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.
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
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
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
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
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
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
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 

Layout

  • 1. Los layout managers o manejadores de composición, en traducción literal, ayudan a adaptar los diversos Componentes que se desean incorporar a un Panel, es decir, especifican la apariencia que tendrán los Componentes a la hora de colocarlos sobre un Contenedor, controlando tamaño y posición (layout) automáticamente. Java dispone de varios, en la actual versión, tal como se muestra en la imagen: ¿Por qué Java proporciona estos esquemas predefinidos de disposición de componentes? La razón es simple: imaginemos que se desean agrupar objetos de distinto tamaño en celdas de una rejilla virtual: si confiados en nuestro conocimiento de un sistema gráfico determinado, se codificase a mano tal disposición, se debería preveer el redimensionamiento del applet, su repintado cuando sea cubierto por otra ventana, etc., además de todas las cuestiones relacionadas con un posible cambio de plataforma (uno nunca sabe a donde van a ir a parar los propios hijos, o los applets). Sigamos imaginando, ahora, que un hábil equipo de desarrollo ha previsto las disposiciones gráficas más usadas y ha creado un gestor para cada una de tales configuraciones, que se ocupará, de forma transparente para nosotros, de todas esas cuitas de formatos. Bien, pues estos gestores son instancias de las distintas clases derivadas de LayoutManager y que se utilizan en el applet que genera la figura siguiente, donde se muestran los diferentes tipos de layouts que proporciona el AWT.
  • 2. FlowLayout Es el más simple y el que se utiliza por defecto en todos los Paneles si no se fuerza el uso de alguno de los otros. Los Componentes añadidos a un Panel con FlowLayout se encadenan en forma de lista. La cadena es horizontal, de izquierda a derecha, y se puede seleccionar el espaciado entre cada Componente. Si el Contenedor se cambia de tamaño en tiempo de ejecución, las posiciones de los Componentes se ajustarán automáticamente, para colocar el máximo número posible de Componentes en la primera línea. Los Componentes se alinean según se indique en el constructor. Si no se indica nada, se considera que los Componentes que pueden estar en una misma línea estarán centrados, pero también se puede indicar que se alineen a izquierda o derecha en el Contenedor. Codigo Ejemplo Instancia un objeto FlowLayout object alieado al Centro // y con una separacion de 3 pixels en horizonal y vertical FlowLayout miFlowLayout = new FlowLayout( FlowLayout.CENTER,3,3 ); // Se fija este FlowLayout para que sea el controlador de // posicionamiento de componentes para el objeto Frame miFrame.setLayout( miFlowLayout );
  • 3. BorderLayout La composición BorderLayout (de borde) proporciona un esquema más complejo de colocación de los Componentes en un panel. La composición utiliza cinco zonas para colocar los Componentes sobre ellas: Norte, Sur, Este, Oeste y Centro. Es el layout o composición que se utilizan por defecto Frame y Dialog. El Norte ocupa la parte superior del panel, el Este ocupa el lado derecho, Sur la zona inferior y Oeste el lado izquierdo. Centro representa el resto que queda, una vez que se hayan rellenado las otras cuatro partes. Así, este controlador de posicionamiento resuelve los problemas de cambio de plataforma de ejecución de la aplicación, pero limita el número de Componentes que pueden ser colocados en Contenedor a cinco; aunque, si se va a construir un interfaz gráfico complejo, algunos de estos cinco Componentes pueden Contenedores, con lo cual el número de Componentes puede verse ampliado. En los cuatro lados, los Componentes se colocan y redimensionan de acuerdo a sus tamaños preferidos y a los valores de separación que se hayan fijado al Contenedor. El tamaño prefijado y el tamaño mínimo son dos informaciones muy importantes en este caso, ya que un botón puede ser redimensionado a proporciones cualesquiera; sin embargo, el diseñador puede fijar un tamaño preferido para la mejor apariencia del botón. El controlador de posicionamiento puede utilizar este tamaño cuando no haya indicaciones de separación en el Contenedor, o puede ignorarlo, dependiendo del esquema que utilice. Ahora bien, si se coloca una etiqueta en el botón, se puede indicar un tamaño mínimo de ese botón para que siempre sea visible, al menos, el rótulo del botón. En este caso, el controlador de posicionamiento muestra un total respeto a este valor y garantiza que por lo menos ese espacio estará disponible para el botón. Codigo Ejemplo Frame miFrame = new Frame( "Tutorial de Java, AWT" ); // Se instancia un objeto BorderLayout con una holgura en vertical y // horizontal de 3 pixels BorderLayout miBorderLayout = new BorderLayout( 3,3 ); // Se fija este BorderLayout para que sea el controlador de // posicionamiento de componentes para el objeto Frame miFrame.setLayout( miBorderLayout );
  • 4. CardLayout Este es el tipo de composición que se utiliza cuando se necesita una zona de la ventana que permita colocar distintos Componentes en esa misma zona. Este layout suele ir asociado con botones de selección (Choice), de tal modo que cada selección determina el panel (grupo de componentes) que se presentarán. Codigo Ejemplo panel1.setLayout( miGridLayout ); // Se instancia un objeto layout de tipo CardLayout para ser // utilizado con el Panel CardLayout miCardLayout = new CardLayout(); // Instancia el primero de los dos objetos Panel que sera // integrado en el objeto Frame Panel panel1 = new Panel(); // Fijamos el layout que habiamos definido para el panel panel1.setLayout( miCardLayout ); Frame miFrame = new Frame( "Tutorial de Java, AWT" ); // IMPORTANTE: Se añaden los dos objetos Panel que se han // preparado al objeto Frame para crear el interfaz definitivo miFrame.add( panel1,"North" );
  • 5. GridLayout La composición GridLayout proporciona gran flexibilidad para situar Componentes. El controlador de posicionamiento se crea con un determinado número de filas y columnas y los Componentes van dentro de las celdas de la tabla así definida. Si el Contenedor es alterado en su tamaño en tiempo de ejecución, el sistema intentará mantener el mismo número de filas y columnas dentro de los márgenes de separación que se hayan indicado. En este caso, estos márgenes tienen prioridad sobre el tamaño mínimo que se haya indicado para los Componentes, por lo que puede llegar a conseguirse que sean de un tamaño tan pequeño que sus etiquetas sean ilegibles. Codigo Ejemplo panel1.setLayout( miGridLayout ); // Se instancia un objeto layout de tipo GridLayout para ser // utilizado con el Panel GridLayout miGridLayout = new GridLayout( 2,3 ); // Instancia el primero de los dos objetos Panel que sera // integrado en el objeto Frame Panel panel1 = new Panel(); // Fijamos el layout que habiamos definido para el panel panel1.setLayout( miGridLayout ); Frame miFrame = new Frame( "Tutorial de Java, AWT" ); // IMPORTANTE: Se añaden los dos objetos Panel que se han // preparado al objeto Frame para crear el interfaz definitivo miFrame.add( panel1,"North" );
  • 6. GridBagLayout Es igual que la composición de GridLayout, con la diferencia que los Componentes no necesitan tener el mismo tamaño. Es quizá el controlador de posicionamiento más sofisticado de los que actualmente soporta AWT. A la hora de ponerse a trabajar con este controlador de posicionamiento, hay que tomar el rol de un auténtico aventurero. Parece que la filosofía de la gente de JavaSoft es que todo debe hacerse en el código. La verdad es que hasta que no haya en Java algo semejante a los recursos de X, el trabajo del programador, si quiere prescindir de herramientas de diseño, es un tanto prehistórico en su forma de hacer las cosas. Si el lector acepta una recomendación, el consejo es que evite como la peste el uso del GridBagLayout, porque tanta sofisticación lo único que acarrea son dolores de cabeza; y, siempre se puede recurrir a la técnica de combinar varios paneles utilizando otros controladores de posicionamiento, dentro del mismo programa. Loa applets no apreciarán esta diferencia, al menos no tanto como para justificar los problemas que conlleva el uso del GridBagLayout