AWT Layout Managers হল সেই ক্লাসগুলো যা AWT কম্পোনেন্টগুলোর অবস্থান এবং সাইজ নিয়ন্ত্রণ করে। এগুলো কম্পোনেন্টগুলিকে একটি কন্টেইনারের মধ্যে সঠিকভাবে সাজাতে সাহায্য করে। এখানে FlowLayout, BorderLayout, এবং GridLayout এর ব্যবহারের বিস্তারিত বর্ণনা দেওয়া হলো:
1. FlowLayout
FlowLayout হলো একটি সাধারণ লেআউট যা কম্পোনেন্টগুলিকে একটি সারিতে সাজায়। যখন একটি সারি পূর্ণ হয়ে যায়, তখন এটি পরবর্তী সারিতে চলে যায়। এটি কম্পোনেন্টগুলির আকার এবং পরিমাণ অনুসারে তাদের অবস্থান নির্ধারণ করে।
বৈশিষ্ট্য:
- Alignment: এটি উপাদানগুলির অবস্থান নির্ধারণ করতে সহায়ক (সামনে, মাঝখানে বা পিছনে)।
- Wrap: যদি এক সারিতে সব উপাদান না সঠিকভাবে রাখা যায়, তবে পরবর্তী সারিতে যাবে।
উদাহরণ:
import java.awt.*;
public class FlowLayoutExample {
public static void main(String[] args) {
// Frame তৈরি
Frame frame = new Frame("FlowLayout Example");
// FlowLayout ব্যবহার করা
frame.setLayout(new FlowLayout());
// কিছু কম্পোনেন্ট যোগ করা
frame.add(new Button("Button 1"));
frame.add(new Button("Button 2"));
frame.add(new Button("Button 3"));
frame.add(new Button("Button 4"));
// Frame সাইজ এবং দৃশ্যমান করা
frame.setSize(300, 200);
frame.setVisible(true);
}
}
এই প্রোগ্রামে, সব বোতাম একটির পরে একটি সাজানো হবে এবং সঠিকভাবে সারি পূর্ণ হওয়ার পর পরবর্তী সারিতে চলে যাবে।
2. BorderLayout
BorderLayout একটি লেআউট ম্যানেজার যা কন্টেইনারের ৫টি অঞ্চলে কম্পোনেন্ট রাখে: North, South, East, West, এবং Center। প্রতিটি অঞ্চলে একটিমাত্র কম্পোনেন্ট রাখা যায়, তবে Center অঞ্চলে অন্যান্য এলাকার তুলনায় বেশি স্থান থাকে।
বৈশিষ্ট্য:
- North, South, East, West, Center অঞ্চলগুলির মধ্যে উপাদানগুলো ভেঙে ফেলা যায়।
- Center অঞ্চলে সর্বোচ্চ সাইজ পাওয়া যায়।
উদাহরণ:
import java.awt.*;
public class BorderLayoutExample {
public static void main(String[] args) {
// Frame তৈরি
Frame frame = new Frame("BorderLayout Example");
// BorderLayout ব্যবহার করা
frame.setLayout(new BorderLayout());
// কম্পোনেন্ট যোগ করা
frame.add(new Button("North"), BorderLayout.NORTH);
frame.add(new Button("South"), BorderLayout.SOUTH);
frame.add(new Button("East"), BorderLayout.EAST);
frame.add(new Button("West"), BorderLayout.WEST);
frame.add(new Button("Center"), BorderLayout.CENTER);
// Frame সাইজ এবং দৃশ্যমান করা
frame.setSize(400, 300);
frame.setVisible(true);
}
}
এখানে, North, South, East, West, এবং Center পজিশনে বিভিন্ন বোতাম থাকবে। Center অঞ্চলটি সর্বাধিক জায়গা নেবে।
3. GridLayout
GridLayout একটি লেআউট ম্যানেজার যা কন্টেইনারটিকে একটি গ্রিডের মতো ভাগ করে দেয়। প্রতিটি কোষে এক একটি কম্পোনেন্ট রাখা হয়। আপনি গ্রিডের সারি এবং কলামের সংখ্যা নির্দিষ্ট করতে পারেন।
বৈশিষ্ট্য:
- Rows এবং Columns সংখ্যা নির্ধারণ করে গ্রিড তৈরি করা হয়।
- প্রতিটি গ্রিড সেলে একেকটি কম্পোনেন্ট রাখা হয়, এবং সব সেল সমান আকারের হয়।
উদাহরণ:
import java.awt.*;
public class GridLayoutExample {
public static void main(String[] args) {
// Frame তৈরি
Frame frame = new Frame("GridLayout Example");
// 2 সারি এবং 3 কলামের GridLayout তৈরি
frame.setLayout(new GridLayout(2, 3));
// কিছু কম্পোনেন্ট যোগ করা
frame.add(new Button("Button 1"));
frame.add(new Button("Button 2"));
frame.add(new Button("Button 3"));
frame.add(new Button("Button 4"));
frame.add(new Button("Button 5"));
frame.add(new Button("Button 6"));
// Frame সাইজ এবং দৃশ্যমান করা
frame.setSize(400, 200);
frame.setVisible(true);
}
}
এই উদাহরণে, GridLayout(2, 3) এর মাধ্যমে একটি ২x৩ এর গ্রিড তৈরি করা হয়েছে যেখানে ৬টি বোতাম সমান আকারে সাজানো হবে।
সারাংশ:
- FlowLayout: কম্পোনেন্টগুলিকে একে একে সারিতে সাজায়, এবং পরবর্তী সারিতে চলে যায় যখন জায়গা শেষ হয়ে যায়।
- BorderLayout: কন্টেইনারটিকে ৫টি অঞ্চলে ভাগ করে (North, South, East, West, Center) এবং কম্পোনেন্টগুলো ঐ অঞ্চলে রাখা হয়।
- GridLayout: কম্পোনেন্টগুলোকে নির্দিষ্ট সংখ্যক সারি এবং কলামে সমান আকারে ভাগ করে দেয়।
এই তিনটি লেআউট ম্যানেজারের মাধ্যমে আপনি AWT কম্পোনেন্টগুলোকে সঠিকভাবে কন্টেইনারে সাজাতে পারবেন।
Read more