Java AWT | BorderLayout Class

BorderLayout is the default layout for the window objects such as JFrame, JWindow, JDialog, JInternalFrame etc. BorderLayout arranges the components in the five regions. Four sides are referred to as north, south, east, and west. The middle part is called the center. Each region can contain only one component and is identified by a corresponding constant as NORTH, SOUTH, EAST, WEST, and CENTER.

Constructors:

  1. BorderLayout(): It will construct a new borderlayout with no gaps between the components.
  2. BorderLayout(int, int): It will constructs a border layout with the specified gaps between the components.

Commonly Used Methods:

  1. toString(): Returns a string which is representation of the state of border layout.
  2. getLayoutAlignmentX(Container parent): Returns the layout alignment along the X-axis.
  3. getLayoutAlignmentY(Container parent): It will returns the layout alignment along the Y-axis.
  4. removeLayoutComponent(Component comp): This method is used to remove the specified component from the borderlayout.
  5. getVgap(): Return the vertical gap between the components.
  6. getHgap(): Returns the Horizontal gap between the components.
  7. setHgap(int hgap): It is used to set the horizontal gap between the components.
  8. setVgap(int vgap): It is used to set the vertical gap between the components.

Below Programs will illustrate the BorderLayout class:

  • Program 1: The following program creates JButton components in a JFrame, whose instance class is “BorderLayoutDemo”. We create 5 JButton and then add them to the JFrame by using add() method. We will set the size and visibility of the frame by using setSize() and setVisible() method respectively. The layout is set by using the setLayout() method.
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Java program to illustrate the BorderLayout
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
      
    // class extends JFrame
    class BoderLayoutDemo extends JFrame {
      
        BoderLayoutDemo()
        {
              
            // Creating Object of Jpanel class
            JPanel pa = new JPanel();
      
            // set the layout
            pa.setLayout(new BorderLayout());
      
            // add a new JButton with name "wel" and it is
            // lie top of the container
            pa.add(new JButton("WelCome"), BorderLayout.NORTH);
      
            // add a new JButton with name "come" and it is
            // lie buttom of the container
            pa.add(new JButton("Geeks"), BorderLayout.SOUTH);
      
            // add a new JButton with name "Layout" and it is
            // lie left of the container
            pa.add(new JButton("Layout"), BorderLayout.EAST);
      
            // add a new JButton with name "Border" and it is
            // lie right of the container
            pa.add(new JButton("Border"), BorderLayout.WEST);
      
            // add a new JButton with name "hello everybody" and it is
            // lie center of the container
            pa.add(new JButton("GeeksforGeeks"), BorderLayout.CENTER);
      
            // add the pa object which refer to the Jpanel
            add(pa);
      
            // Function to close the operation of JFrame.
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      
            // Function to set size of JFrame.
            setSize(300, 300);
      
            // Function to set visible status of JFrame.
            setVisible(true);
        }
    }
      
    class MainFrame {
      
        // Driver code
        public static void main(String[] args)
        {
              
            // calling the constructor
            new BoderLayoutDemo();
        }
    }

    chevron_right

    
    

    Output:




  • Program 2: This program will show how to pass the arguments in BorderLayout. Set the background color by using setBackground() method. We create 5 JButton components named “btn1“, “btn2“, “btn3“, “btn4“, “btn5“, and then add them to the JFrame by using add() method. We set the title, size, and visibility of the frame by using setTitle(), setSize() and setVisible() methods respectively. The layout is set by the method setLayout().
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Java program to illustrate the BorderLayout
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.BorderLayout;
    import java.awt.Frame;
    import java.awt.Button;
    import java.awt.Color;
       
    // class extends JFrame
    public class BorderDemo extends JFrame {
       
        // Constructor of BorderDemo class.
        public BorderDemo()
        {
       
            // set the layout
            setLayout(new BorderLayout());
       
            // set the background
            setBackground(Color.red);
       
            // creates Button (btn1)
            Button btn1 = new Button("Geeks");
       
            // creates Button (btn2)
            Button btn2 = new Button("GFG");
       
            // creates Button (btn3)
            Button btn3 = new Button("Sudo Placement");
       
            // creates Button (btn4)
            Button btn4 = new Button("GeeksforGeeks");
       
            // creates Button (btn5)
            Button btn5 = new Button("Java");
       
            // Adding JButton "btn1" on JFrame.
            add(btn1, "North");
       
            // Adding JButton "btn2" on JFrame.
            add(btn2, "South");
       
            // Adding JButton "btn3" on JFrame.
            add(btn3, "East");
       
            // Adding JButton "btn4" on JFrame.
            add(btn4, "West");
       
            // Adding JButton "btn5" on JFrame.
            add(btn5, "Center");
       
            // function to set the title
            setTitle("Learning a Border Layout");
       
            // Function to set size of JFrame.
            setSize(350, 300);
       
            // Function to set visible status of JFrame
            setVisible(true);
        }
       
        // Main Method
        public static void main(String args[])
        {
       
            // calling the constructor
            new BorderDemo();
        }
    }

    chevron_right

    
    

    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/BorderLayout.html

Attention reader! Don’t stop learning now. Get hold of all the important Java and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :
Practice Tags :


1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.