1. Border Layout
2. FlowLayout
3. Grid Layout
4. BoxLaYout
5. Empty layout (null)
There are also two other layouts, namely GridBagLayout and CardLayout
Note: JFrame and JDialog are layouts as BorderLayout, JPanel and Applet are layouts as FlowLayout
Boundary layout sample code:
import java.awt.BorderLayout;import javax.swing.JButton;import javax.swing.JFrame;public class BorderLayoutExample extends JFrame{ JButton btn1=new JButton("East"); JButton btn2=new JButton("South"); JButton btn3=new JButton("Western"); JButton btn4=new JButton("North"); JButton btn5=new JButton("Medium"); BorderLayoutExample(){ init(); this.setTitle("BorderLayout"); this.setResizable(true); this.setSize(200, 200); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setVisible(true); } void init(){ this.setLayout(new BorderLayout(10,5)); //Default is 0, 0; horizontal spacing 10, vertical spacing 5 this.add(btn1,BorderLayout.EAST); this.add(btn2,BorderLayout.SOUTH); this.add(btn3,BorderLayout.WEST); this.add(btn4,BorderLayout.NORTH); this.add(btn5,BorderLayout.CENTER); } public static void main(String args[]){ new BorderLayoutExample(); }}Running results:
Streaming layout sample code:
import java.awt.FlowLayout;import javax.swing.JButton;import javax.swing.JFrame;public class FlowLayoutExample extends JFrame{ JButton btn1=new JButton("one"); JButton btn2=new JButton("two"); JButton btn3=new JButton("three"); JButton btn4=new JButton("four"); JButton btn5=new JButton("five"); FlowLayoutExample(){ init(); this.setTitle("FlowLayout"); this.setResizable(true); this.setSize(200, 200); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setVisible(true); } void init(){ this.setLayout(new FlowLayout(FlowLayout.LEFT,10,5)); //Default is centered; horizontal spacing 10, vertical spacing 5 this.add(btn1); this.add(btn2); this.add(btn3); this.add(btn4); this.add(btn5); } public static void main(String args[]){ new FlowLayoutExample(); }}Running results:
Grid layout sample code:
import java.awt.GridLayout;import javax.swing.JButton;import javax.swing.JFrame;public class GridLayoutExample extends JFrame{JButton btn1=new JButton("one");JButton btn2=new JButton("two");JButton btn3=new JButton("three");JButton btn4=new JButton("four");JButton btn5=new JButton("five");GridLayoutExample(){init(); this.setTitle("Table Layout"); this.setResizable(true); this.setSize(300, 200); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setVisible(true);}void init(){this.setLayout(new GridLayout(2,3,10,5)); //Default is 1 row, n columns; 2 rows and 3 columns, horizontal spacing 10, vertical spacing 5this.add(btn1); this.add(btn2); this.add(btn3); this.add(btn4); this.add(btn5);}public static void main(String args[]){new GridLayoutExample();}}Running results:
Box layout sample code:
import javax.swing.Box;import javax.swing.BoxLayout;import javax.swing.JButton;import javax.swing.JFrame;public class BoxLaYoutExample extends JFrame{JButton btn1=new JButton("one");JButton btn2=new JButton("two");JButton btn3=new JButton("three");JButton btn4=new JButton("four");JButton btn5=new JButton("five");BoxLaYoutExample(){init(); this.setTitle("Table Layout"); this.setResizable(true); this.setSize(300, 200); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setVisible(true);}void init(){this.setLayout(new BoxLayout(this.getContentPane(),BoxLayout.X_AXIS));//You can use Box container instead//Box box = new Box(BoxLayout.Y_AXIS);box.add(btn...);box.add(creat..);this.add(btn1);this.add(btn2);this.getContentPane().add(Box.createHorizontalStrut(10)); // When using x layout, add fixed width components to separate //this.getContentPane().add(Box.createVerticalStrut(5)); // When using y layout, add fixed height components to separate this.add(btn3);this.add(btn4);this.add(btn5);}public static void main(String args[]){new BoxLaYoutExample();}}Running results:
Empty layout sample code:
import javax.swing.JButton;import javax.swing.JFrame;public class NullLayoutExample extends JFrame{JButton btn1=new JButton("one");JButton btn2=new JButton("two");JButton btn3=new JButton("three");JButton btn4=new JButton("four");JButton btn5=new JButton("five");NullLayoutExample(){init();this.setTitle("empty layout");this.setResizable(true);this.setSize(300, 300);this.setLocationRelativeTo(null);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setVisible(true);}void init(){this.setLayout(null);btn1.setBounds(10, 0, 100, 50); //x coordinate 10, y coordinate 0, component width 100, height 50btn2.setBounds(20, 50, 100, 50);btn3.setBounds(30, 100, 100, 50);btn4.setBounds(40, 150, 100, 50);btn5.setBounds(50, 200, 100, 50);btn5.setBounds(50, 200, 100, 50);this.add(btn1);this.add(btn2);this.add(btn3);this.add(btn4);this.add(btn5);}public static void main(String args[]){new NullLayoutExample();}}Running results: