Articulo de referencia

Gestor de maquetación

Los gestores de diseño son componentes de software utilizados en los kits de herramientas de widgets que permiten organizar los elementos de control gráfico según sus posiciones...

Los gestores de diseño son componentes de software utilizados en los kits de herramientas de widgets que permiten organizar los elementos de control gráfico según sus posiciones relativas, sin utilizar unidades de distancia. A menudo, resulta más natural definir la disposición de los componentes de esta manera que definir su posición en píxeles o unidades de distancia comunes, por lo que varios kits de herramientas de widgets populares incluyen esta funcionalidad de forma predeterminada. Los kits de herramientas de widgets que ofrecen esta función generalmente se pueden clasificar en dos grupos:

  • Aquellos en los que el comportamiento del diseño está codificado en contenedores gráficos especiales . Este es el caso de XUL y del kit de herramientas de widgets de .NET Framework (tanto en Windows Forms como en XAML ).
  • En aquellos casos, el comportamiento del diseño está codificado en gestores de diseño, que se pueden aplicar a cualquier contenedor gráfico. Este es el caso del kit de herramientas de widgets Swing , que forma parte de la API de Java .

Ejemplos

Android tiene ConstraintLayout . [ 1 ]

GTK tiene las clases Box [ 2 ] y Grid [ 3 ] .

XUL

En XUL , al igual que el contenedor vbox (archivado el 24/02/2012 en Wayback Machine) para apilar componentes uno encima del otro.

<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?><window id= "vbox example" title= "Ejemplo" xmlns= "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" ><vbox> <button id= "yes" label= "Sí" /> <button id= "no" label= "No" /> <button id= "maybe" label= "Quizás" /> </vbox></window>

Este fragmento de código muestra 3 botones apilados uno encima del otro en un recuadro vertical.

XAML

El contenedor DockPanel organiza los componentes secundarios según sus propiedades de Dock .

<Page xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation" WindowTitle= "myDock Panel" > <DockPanel> <TextBlock DockPanel.Dock= "Top" > Top 1 </TextBlock> <TextBlock DockPanel.Dock= "Top" > Top 2 </TextBlock> <TextBlock DockPanel.Dock= "Top" > Top 3 </TextBlock> <TextBlock DockPanel.Dock= "Top" > Top 4 </TextBlock> </DockPanel> </Page>

Este código muestra 4 bloques de texto uno encima del otro.

Java

El FlowLayoutgestor de diseño organiza los componentes siguiendo un flujo direccional, de forma similar a como se organizan las líneas de texto en un párrafo. Los distribuye horizontalmente hasta que no caben más componentes en la misma línea, momento en el que los coloca en otra línea. Otros gestores de diseño son los gestores GridLayout, que organizan los componentes en forma de cuadrícula, y los gestores BorderLayout, que también los organizan en cinco partes del marco: sur, norte, oeste, este y centro.

import javax.swing.JFrame ; import javax.swing.JButton ; import java.awt.FlowLayout ; import java.awt.Container ;clase pública Ejemplo { marco JFrame privado ;public Example ( ) { frame = new JFrame ( "FlowLayout Demo" ); frame.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE ); frame.setLayout ( new FlowLayout ()); frame.add ( ( new JButton ( " Button 1" ))); frame.add ( ( new JButton ( " Button 2" ) )); frame.add ( ( new JButton ( " Button 3" ) )); frame.add ( ( new JButton ( " Long-Named Button 4" ) )); frame.add ( ( new JButton ( " 5 " ))) ; frame.pack ( ) ; frame.setVisible ( true ) ; }public static void main ( String [] args ) { Example ex = new Example (); } }

Este código muestra 5 botones uno al lado del otro en la misma línea:

The FlowLayout example

Referencias

  1. ^ "Crea una interfaz de usuario adaptable con ConstraintLayout | Views" . Desarrolladores de Android . Google . Consultado el 17 de diciembre de 2024 .
  2. ^ "Gtk.Box" . docs.gtk.org . Consultado el 17 de diciembre de 2024 .
  3. ^ "Gtk.Grid" . docs.gtk.org . Consultado el 17 de diciembre de 2024 .
  • Tutorial de diseño en el sitio web de Oracle
  • Comparativa de gestores de diseño en java.net
Retrieved from "https://en.wikipedia.org/w/index.php?title=Layout_manager&oldid=1304969861"