The GridLayout also maintains a cursor for adding components in left-to-right, top-to-bottom order.
Each component in a GridLayout
uses a defined {@link GridLayout.Area area} (column1,row1,column2,row2) from the grid. Thecomponents may not overlap with the existing components - if you try to do so you will get an {@link OverlapsException}. Adding a component with cursor automatically extends the grid by increasing the grid height.
The grid coordinates, which are specified by a row and column index, always start from 0 for the topmost row and the leftmost column.
@author Vaadin Ltd. @since 3.0GridLayout
class is a layout manager that lays out a container's components in a rectangular grid. The container is divided into equal-sized rectangles, and one component is placed in each rectangle. For example, the following is an applet that lays out six buttons into three rows and two columns:
import java.awt.*; import java.applet.Applet; public class ButtonGrid extends Applet { public void init() { setLayout(new GridLayout(3,2)); add(new Button("1")); add(new Button("2")); add(new Button("3")); add(new Button("4")); add(new Button("5")); add(new Button("6")); } }
If the container's ComponentOrientation
property is horizontal and left-to-right, the above example produces the output shown in Figure 1. If the container's ComponentOrientation
property is horizontal and right-to-left, the example produces the output shown in Figure 2.
Figure 1: Horizontal, Left-to-Right | Figure 2: Horizontal, Right-to-Left |
When both the number of rows and the number of columns have been set to non-zero values, either by a constructor or by the setRows and setColumns methods, the number of columns specified is ignored. Instead, the number of columns is determined from the specified number of rows and the total number of components in the layout. So, for example, if three rows and two columns have been specified and nine components are added to the layout, they will be displayed as three rows of three columns. Specifying the number of columns affects the layout only when the number of rows is set to zero. @version 1.42, 11/17/05 @author Arthur van Hoff @since JDK1.0
{@code GridLayout} has a number of configurable fields, and the control itlays out can have an associated layout data object, called {@link GridLayoutData}.
The following code lays out six buttons into three columns and two rows:
LayoutPanel layoutPanel = new LayoutPanel(new GridLayout(3, 2)); layoutPanel.add(new Button("1")); layoutPanel.add(new Button("2")); layoutPanel.add(new Button("3")); layoutPanel.add(new Button("4")); layoutPanel.add(new Button("5")); layoutPanel.add(new Button("6"));
The {@code columns} and {@code rows} parameters are the most important{@code GridLayout} properties. Widgets are laid out in columns from left toright, and rows from top to bottom. @see GridLayoutData @author georgopoulos.georgios(at)gmail.com
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|