Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Grid Layouts

0.00/5 (No votes)
31 Jan 2003 1  
An introductory article about how to use the 'Grid' Layout in Java.

Introduction

This article will demonstrate how to use the 'Grid' Layout in Java. The Grid Layout Managers assigns components to a grid of cells. Each cell in the grid is the same size and the components grow to fill the available area. This Layout Manager is good for laying out containers that look like grids; e.g., a calculator, a calendar page or a battleship game.

The following constructors apply to the Grid Layout:
GridLayout(int rows, int cols, int hgap, int vgap)
GridLayout(int rows, int cols)
The rows is the number of rows in the grid and the cols is the number of columns. At least one of these must be non-zero. A zero means as many rows or columns as necessary. The hgap is the horizontal gap between components and defaults to 0 pixels. The vgap is the vertical gap between components and also defaults to 0 pixels. Example Code:

// Imports

import java.awt.*;
import java.applet.Applet;

public class Grid extends Applet{ 
    // Adding Labels

    Label one   = new Label("Team Name");
    Label two   = new Label("Stadium");
    Label three = new Label("Nick Name");
    Label four  = new Label("Grimsby Town");
    Label five  = new Label("Blundell Park");
    Label six   = new Label("Mariners");
    Label seven = new Label("Kettering Town");
    Label eight = new Label("Rockignham Road");
    Label nine  = new Label("Poppies");
    Label ten   = new Label("Boston United");
    Label eleven= new Label("York Street");
    Label twelve= new Label("Pilgrims");

//The Grid Layout uses the simplest form of the add method which requires only a reference to a component.


    public void init(){

        setLayout(new GridLayout(4,3));
        add(one); one.setBackground(Color.red);
        add(two); two.setBackground(Color.red);
        add(three); three.setBackground(Color.red);
        add(four); four.setBackground(Color.green);
        add(five); five.setBackground(Color.green);
        add(six); six.setBackground(Color.green);
        add(seven); seven.setBackground(Color.blue);
        add(eight); eight.setBackground(Color.blue);
        add(nine); nine.setBackground(Color.blue);
        add(ten); ten.setBackground(Color.orange);
        add(eleven); eleven.setBackground(Color.orange);
        add(twelve); twelve.setBackground(Color.orange);
    }
}

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here