GridLayout es uno de los diseños más potentes y complejos. GridLayout dispone los widgets en una cuadrícula y proporciona muchos parámetros configurables que controlan el comportamiento de tamaño de las filas y columnas de la cuadrícula cuando se modifica el tamaño del compuesto.
El objeto GridLayout define la API que controla la estrategia global del diseño. El atributo más importante es numColumns, que determina el tamaño horizontal de la cuadrícula. Este valor se suele especificar cuando se diseña el aspecto de la ventana por primera vez. El orden de los widgets en la cuadrícula coincide con el orden en que los creó. Para cambiar el orden de los widgets en la cuadrícula, puede utilizar los métodos moveAbove(Control) y moveBelow(Control) de Control. Estos métodos permiten insertar un widget antes o después de otro en el diseño. (Las palabras "above" y "below" que figuran en los nombres de los métodos se refieren al orden de los widgets según el eje vertical (Z), no a su ubicación en la cuadrícula).
La siguiente tabla ofrece un resumen de los parámetros configurables de un objeto GridLayout:
Atributo |
Descripción |
---|---|
horizontalSpacing |
Número de pixels entre el borde derecho de una casilla y el borde izquierdo de la casilla contigua. |
makeColumnsEqualWidth |
Especifica si debe forzarse que todas las columnas tengan la misma anchura. |
marginWidth |
Número de pixels utilizados para los márgenes en el borde derecho e izquierdo de la cuadrícula. |
marginHeight |
Número de pixels utilizados para los márgenes en el borde superior e inferior de la cuadrícula. |
numColumns |
Número de columnas que deben utilizarse para crear la cuadrícula. |
verticalSpacing |
Número de pixels entre el borde inferior de una casilla y el borde superior de la casilla contigua. |
GridLayout soporta muchos más parámetros de diseño para cada widget de la cuadrícula. Estas propiedades se especifican en un objeto GridData. Debe establecer un objeto GridData como los datos de diseño para cada widget de la cuadrícula.
La clase GridData define constantes de estilo que le permiten especificar combinaciones de parámetros de diseño utilizadas comúnmente en el constructor de GridData. También puede establecer estos atributos individualmente utilizando los métodos públicos de GridData.
Puede obtener algunos diseños muy dinámicos y complejos mediante GridData. Aplicando estos valores en diferentes widgets de la cuadrícula se pueden producir muchas combinaciones distintas de diseños. La capacidad de permitir que los widgets abarquen varias casillas produce muchos diseños que a veces ni siquiera parecen una cuadrícula.
La siguiente tabla ofrece un resumen de los parámetros configurables de un objeto GridData. En el tema Interpretar los diseños de SWT hallará más descripciones y capturas de pantalla de ejemplo de cómo se utilizan los diversos parámetros de cuadrícula.
Atributo |
Descripción |
---|---|
grabExcessHorizontalSpace |
Especifica si debe aumentarse el tamaño de una casilla para utilizar espacio horizontal adicional disponible en la cuadrícula. Una vez calculados los tamaños de las casillas de la cuadrícula según los widgets y sus datos de cuadrícula, cualquier espacio adicional que quede en el compuesto se asignará a aquellas casillas que precisen de espacio sobrante. |
grabExcessVerticalSpace |
Especifica si debe aumentarse el tamaño de una casilla para utilizar espacio vertical adicional disponible en la cuadrícula. |
heightHint |
Especifica la altura mínima del widget (y, por lo tanto, de la fila que lo contiene). |
horizontalAlignment |
Los valores de este atributo pueden ser BEGINNING, CENTER, END, FILL. FILL significa que se cambiará el tamaño del widget para que ocupe toda la anchura de su casilla en la cuadrícula. |
horizontalIndent |
Número de pixels entre el widget y el borde izquierdo de su casilla en la cuadrícula. |
horizontalSpan |
Especifica el número de columnas de la cuadrícula que debe abarcar el widget. Por omisión, un widget ocupa una sola casilla de la cuadrícula. Si se aumenta este valor, puede ocupar más casillas en sentido horizontal. |
verticalAlignment |
Los valores de este atributo pueden ser BEGINNING, CENTER, END, FILL. FILL significa que se cambiará el tamaño del widget para que ocupe toda la altura de su casilla en la cuadrícula. |
verticalSpan |
Especifica el número de filas de la cuadrícula que debe abarcar el widget. Por omisión, un widget ocupa una sola casilla de la cuadrícula. Si se aumenta este valor, puede ocupar más casillas en sentido vertical. |
widthHint |
Especifica la anchura mínima del widget (y, por lo tanto, de la columna que lo contiene). |