Java AWT | GridLayout Class Last Updated : 21 Aug, 2018 Comments Improve Suggest changes Like Article Like Report GridLayout class represents a layout manager with a specified number of rows and columns in a rectangular grid. The GridLayout container is divided into an equal-sized of rectangles, and one of the components is placed in each rectangle. Every rectangle cell has the same size therefore, they contain a component, which fills the entire cell. When the user changes or adjusts the size of the container, the size of each rectangles changes accordingly. Constructors of the class: GridLayout(): It Creates a grid layout with a default of one column per component, in a single row. GridLayout(int rw, int cl): It creates a grid layout with the specified number of rows and columns. GridLayout(int rw, int cl, int hgap, int vgap): It creates a grid layout with the specified number of rows and columns with horizontal and vertical gap. Commonly Used Methods: addLayoutComponent(String str, Component cmp): Adds the specified component with the specified name to the layout. setColumns(int cl): Sets the number of columns in this layout to the specified value. setHgap(int hgap): Sets the horizontal gap between components to the specified value. setRows(int rw): Sets the number of rows in this layout to the specified value. setVgap(int vgap): Sets the vertical gap between components to the specified value. layoutContainer(Container pr): Lays out the specified container using this layout. toString(): Returns the string representation of this grid layout's values. Below programs illustrate the GridLayout class: Program 1: In below program we are passing the argument in GridLayout. We create 4 JLabel components named "one", "two", "three", "four" and create 2 JButton components named "buttonsave" and "buttonexit" and create 4 Jtextfield components named "tname", "tcode", "tdesig", "tsalary" and all of add them to the JFrame by the method add(). We will set the visibility and size of the frame by using setVisible() and setSize() method. The layout is set by using setLayout() method. Java // Java program to illustrate the GridLayout import javax.swing.*; import java.awt.*; // class GridLayout extends JFrame public class GridLayoutDemo extends JFrame { GridLayoutDemo() { // Creating Object P1 of JPanel class JPanel p1 = new JPanel(); // set the layout p1.setLayout(new GridLayout(4, 2)); // Creating Object of "FlowLayout" class FlowLayout layout = new FlowLayout(); // Creating Object P2 of JPanel class JPanel p2 = new JPanel(); // set the layout p2.setLayout(layout); // Declaration of objects of JLabel class. JLabel one, two, three, four; // Declaration of objects of JTextField class. JTextField tname, tsalary, tcode, tdesig; // Declaration of objects of JButton class. JButton buttonSave, buttonExit; // Initialization of object // "one" of JLabel class. one = new JLabel("NAME"); // Initialization of object // "tname" of JTextField class. tname = new JTextField(20); // Initialization of object // "two" of JLabel class. two = new JLabel("CODE"); // Initialization of object // "tcode" of JTextField class. tcode = new JTextField(20); // Initialization of object // "three" of JLabel class. three = new JLabel("DESIGNATION"); // Initialization of object // "tdesig" of JTextField class. tdesig = new JTextField(20); // Initialization of object // "four" of JLabel class. four = new JLabel("SALARY"); // Initialization of object // "tsalary" of JTextField class. tsalary = new JTextField(20); // Initialization of object // "buttonsave" of JButton class. buttonSave = new JButton("SAVE"); // Initialization of object // "buttonexit" of JButton class. buttonExit = new JButton("EXIT"); // Adding Jlabel "one" on JFrame. p1.add(one); // Adding JTextField "tname" on JFrame. p1.add(tname); // Adding Jlabel "two" on JFrame. p1.add(two); // Adding JTextField "tcode" on JFrame. p1.add(tcode); // Adding Jlabel "three" on JFrame. p1.add(three); // Adding JTextField "tdesig" on JFrame. p1.add(tdesig); // Adding Jlabel "four" on JFrame. p1.add(four); // Adding JTextField "tsalary" on JFrame. p1.add(tsalary); // Adding JButton "buttonsave" on JFrame. p2.add(buttonSave); // Adding JButton "buttonexit" on JFrame. p2.add(buttonExit); // add the p1 object which // refer to the Jpanel add(p1, "North"); // add the p2 object which // refer to the Jpanel add(p2, "South"); // Function to set visible // status of JFrame. setVisible(true); // this Keyword refers to current // object. Function to set size of JFrame. this.setSize(400, 180); } // Main Method public static void main(String args[]) { // calling the constructor new GridLayoutDemo(); } } Output: Program 2: In below program we are passing the argument in GridLayout. We create 5 JButton components named "btn1", "btn2", "btn3", "btn4", "btn5" and then add them to the JFrame by the method add(). We will set the visibility and size of the frame by using setvisible() and setsize() method. The layout is set by using setLayout() method. Java // Java program to illustrate the GridLayout import java.awt.*; import javax.swing.*; // create a class griddemo public class Griddemo { // Main Method public static void main(String[] args) { // Creating Object of JFrame class // with new name frame JFrame frame = new JFrame("GridLayout Demo"); // Initialization of object // "btn1" of JButton class. JButton btn1 = new JButton("Button 1"); // Initialization of object // "btn2" of JButton class. JButton btn2 = new JButton("Button 2"); // Initialization of object // "btn3" of JButton class. JButton btn3 = new JButton("Button 3"); // Initialization of object // "btn4" of JButton class. JButton btn4 = new JButton("Button 4"); // Initialization of object // "btn5" of JButton class. JButton btn5 = new JButton("Button 5"); // Creating Object Panel of JPanel class // create grid layout with 3 rows, // 2 columns with horizontal and // vertical gap set to 10 JPanel panel = new JPanel(new GridLayout(3, 2, 10, 10)); // Adding JButton "btn1" on JPanel. panel.add(btn1); // Adding JButton "btn2" on JPanel. panel.add(btn2); // Adding JButton "btn3" on JPanel. panel.add(btn3); // Adding JButton "btn4" on JPanel. panel.add(btn4); // Adding JButton "btn5" on JPanel. panel.add(btn5); // Function to close the operation of JFrame. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Function to set size of JFrame. frame.setSize(300, 150); // Function to get the content of JFrame. frame.getContentPane().add(panel); // Function to set visible status of JFrame. frame.setVisible(true); } } Output: Note: The above programs might not run in an online IDE. Please use an offline compiler. Reference: https://docs.oracle.com/javase/7/docs/api/java/awt/GridLayout.html Comment More infoAdvertise with us Next Article Java AWT | GridLayout Class S Shivi_Aggarwal Follow Improve Article Tags : Java Java-AWT Practice Tags : Java Similar Reads Java AWT | GridBagLayout Class GridBagLayout class is a flexible layout manager. It is used to aligns the components horizontally, vertically, or along their baseline. It doesn't require the components of the same size. Each GridBagLayout object manages a rectangular grid of cells, dynamic with each component occupying one or mor 6 min read Java AWT | FlowLayout FlowLayout is used to arrange components in a sequence one after the other. The default layout of applet and panel is FlowLayout. Constructors : FlowLayout(): It will Construct a new FlowLayout with centered alignment.The horizontal and vertical gap will be 5 pixels. FlowLayout(int align) : It will 5 min read Java Swing | GroupLayout Class GroupLayout is a LayoutManager that hierarchically group the components and arranges them in a Container. Grouping is done by using the instances of the Group class. It is generally used for developing a GUI ( Graphic User Interface) builders such as Matisse, the GUI builder provided with the NetBea 6 min read Java AWT | SpringLayout Class A SpringLayout class in AWT(Abstract Window Toolkit) laid out of the children to its associated container, according to a set of Layout constraints. Each constraint is represented by a Spring object which controls the vertical or horizontal distance between two component edges. The edges can belong 5 min read Java AWT | Dimension Class Dimension class is a part of Java AWT. It contains the height and width of a component in an integer as well as double precision. The use of Dimension class is that many functions of Java AWT and Swing return dimension object. Constructors of the Dimension class Dimension() : It will create a new Ob 4 min read Java AWT | Canvas Class Canvas class is a part of Java AWT. Canvas is a blank rectangular area where the user can draw or trap input from the user. Canvas class inherits the Component class.Constructor of the Canvas class are :Â Â Canvas(): Creates a new blank canvas.Canvas(GraphicsConfiguration c): Creates a new canvas wit 3 min read Java Applet Class Java Applet is a special type of small Java program embedded in the webpage to generate dynamic content. The specialty of the Java applet is it runs inside the browser and works on the Client side (User interface side). Note:Applets, which are small programs that can be run inside a web page, are no 4 min read Java AWT | BoxLayout Class The BoxLayout class is used to arrange the components either vertically (along Y-axis) or horizontally (along X-axis). In BoxLayout class, the components are put either in a single row or a single column. The components will not wrap so, for example, a horizontal arrangement of components will stay 5 min read Java AWT CheckboxGroup Java AWT CheckboxGroup is a class that is used to create checkboxes and group a set of checkbox buttons together. Many components in the CheckboxGroup separate, which serves as a means to group a set of checkboxes. In this clause, we will delve into the CheckboxGroup class, and its methods, and demo 3 min read JavaFX | Insets Class Insets class is a part of JavaFX. Insets class stores the inside offsets for the four sides of the rectangular area. Insets class inherits java.lang.Object class. Constructors of the class: Insets(double a): Constructs a new Insets instance with same value for all four offsets. Insets(double top, do 4 min read Like