//  File: GridLayoutDemo.java

// Demonstrate use of GridLayout to produce a 2-column display

import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.JLabel;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class GridLayoutDemo extends JFrame {
    public static final int NROWS = 6;
    public static final int NCOLS = 2;
    private static final Dimension dimension = new Dimension(100, 20);

    GridLayoutDemo() {
        super("GridLayoutDemo");
        JPanel jpPanel = new JPanel(new GridLayout(NROWS, NCOLS, 0, 10));
        JLabel jlJLabel;
        JTextField jtfJTextField;

        for (int i = 1; i <= NROWS; i++) {
            jlJLabel = new JLabel("  JLabel " + i);
            jpPanel.add(jlJLabel);
            jtfJTextField = new JTextField("JTextField " + i);
            jtfJTextField.setPreferredSize(dimension);
            jpPanel.add(jtfJTextField);
        }

        setContentPane(jpPanel);

        setDefaultCloseOperation(EXIT_ON_CLOSE); 
        pack();
        setResizable(true); 
        setLocationRelativeTo(null); 
        setVisible(true); 
    }

    public static void main(String[] args) {
        new GridLayoutDemo();
    }

}
