Administrador de diseño - Layout manager

Los administradores de diseño son componentes de software que se utilizan en los kits de herramientas de widgets que tienen la capacidad de diseñar elementos de control gráfico por sus posiciones relativas sin usar unidades de distancia. A menudo es más natural definir diseños de 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 capacidad de forma predeterminada. Los kits de herramientas de widgets que proporcionan esta función generalmente se pueden clasificar en dos grupos:

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

Ejemplos

XUL

En XUL , como el contenedor vbox 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="Example"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

<vbox>
  <button id="yes" label="Yes"/>
  <button id="no" label="No"/>
  <button id="maybe" label="Maybe"/>
</vbox>

</window>

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

XAML

El contenedor DockPanel presenta los componentes secundarios de acuerdo con 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 FlowLayoutadministrador de diseño organiza los componentes en un flujo direccional, al igual que las líneas de texto en un párrafo. Organiza los componentes horizontalmente hasta que no quepan más componentes en la misma línea, luego los coloca en otra línea. Otros administradores de diseño son los administradores GridLayout que organizan los componentes en forma de cuadrícula y los administradores BorderLayout que también organizan el componente en cinco partes del marco, por lo tanto: sur, norte, oeste, este y centro.

import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.FlowLayout;
import java.awt.Container;

public class Example {
    private JFrame frame;

    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:

El ejemplo de FlowLayout

enlaces externos