একটি GridLayout সকল কম্পোনেন্টকে একটি রেক্ট্যাঙ্গুলার গ্রিডে রাখে যা সমান আকারের রেক্ট্যাঙ্গেলে বিভক্ত থাকে এবং প্রতিটি কম্পোনেন্ট একটি রেক্ট্যাঙ্গেলের ভিতরে রাখা হয়, যেখানে GridBagLayout একটি ফ্লেক্সিবল লেআউট ম্যানেজার যা কম্পোনেন্টগুলিকে ভার্টিক্যালি এবং হরিজেন্টালি অ্যালাইন করে একই আকারের কম্পোনেন্টের প্রয়োজন ছাড়া। প্রতিটি GridBagLayout অবজেক্ট একটি ডাইনামিক, রেক্ট্যাঙ্গুলার সেলের গ্রিড বজায় রাখে যেখানে প্রতিটি কম্পোনেন্ট এক বা একাধিক সেল окуপাই করে যাকে কম্পোনেন্ট ডিসপ্লে এরিয়া বলা হয়।
GridLayout
একটি GridLayout কম্পোনেন্টগুলিকে একটি রেক্ট্যাঙ্গুলার গ্রিডে সাজায়। এটি কম্পোনেন্টকে সেলগুলিতে সাজায় এবং প্রতিটি সেলের একই আকার থাকে। কম্পোনেন্টগুলো কলাম এবং সারি-এ রাখা হয়। GridLayout(int rows, int columns) দুটি প্যারামিটার নেয় যা হল সারি এবং কলাম।
উদাহরণ
import java.awt.*;
import javax.swing.*;
public class GridLayoutTest{
GridLayoutTest() {
JFrame frame = new JFrame("GridLayout Test");
JButton button1, button2, button3, button4;
button1 = new JButton("Button 1");
button2 = new JButton("Button 2");
button3 = new JButton("Button 3");
button4 = new JButton("Button 4");
frame.add(button1);
frame.add(button2);
frame.add(button3);
frame.add(button4);
frame.setLayout(new GridLayout(2,2));
frame.setSize(300,300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public static void main(String[] args) {
new GridLayoutTest();
}
}
আউটপুট

GridBagLayout
একটি GridBagLayout GridLayout-এর ক্ষমতা প্রসারিত করে। GridBagLayout গ্রিডের প্রতিটি সেলে কম্পোনেন্ট রাখে এবং কম্পোনেন্টকে একাধিক কলাম বা সারি ফ্যালাও করার অনুমতি দেয়। GridBagLayout ব্যবহার করতে হলে আমাদের GridBagConstraints অবজেক্ট তৈরি করে উপযুক্ত প্রপার্টিগুলো ফিল করতে হয়।
উদাহরণ
import javax.swing.*;
import java.awt.*;
public class GridBagLayoutTest extends JFrame {
public GridBagLayoutTest() {
setTitle("GridBagLayout Test");
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 5;
gbc.gridy = 0;
add(new JButton("Button1"), gbc);
gbc.gridx = 0;
gbc.gridy = 5;
add(new JButton("Button2"), gbc);
gbc.gridx = 2;
gbc.gridy = 4;
add(new JButton("Button3"), gbc);
}
public static void main(String[] args) {
GridBagLayoutTest gbcTest = new GridBagLayoutTest();
gbcTest.setSize(300,300);
gbcTest.setVisible(true);
gbcTest.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
আউটপুট
