Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Java AWT | BorderLayout Class

  • Last Updated : 06 Oct, 2021

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: 

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

  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 the 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 return 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.

Java




// 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 button 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();
    }
}

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().

Java




// 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();
    }
}

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
 




My Personal Notes arrow_drop_up
Recommended Articles
Page :