AWT (Abstract Window Toolkit)-এর মধ্যে উইন্ডো, ফ্রেম এবং প্যানেল হলো GUI উপাদান যা বিভিন্ন ইন্টারফেস উপাদান পরিচালনার জন্য ব্যবহৃত হয়। এগুলি ব্যবহারকারীর সাথে ইন্টারঅ্যাক্ট করতে এবং অ্যাপ্লিকেশনের জন্য গ্রাফিকাল ইন্টারফেস তৈরি করতে সহায়ক।
1. উইন্ডো (Window):
AWT-তে উইন্ডো হলো একটি পপ-আপ বা ডায়লগ যা অ্যাপ্লিকেশন চলার সময় ব্যবহারকারীর সাথে ইন্টারঅ্যাক্ট করার জন্য ব্যবহৃত হয়। এটি মূলত একটি কন্টেইনার যা ফ্রেম এবং অন্যান্য উপাদান ধারণ করতে পারে।
- উইন্ডো ক্লাসটি
java.awtপ্যাকেজে থাকে এবং এটি একটি গ্রাফিকাল উইন্ডো তৈরি করে। - সাধারণত, Frame বা Dialog উইন্ডো তৈরি করতে ব্যবহৃত হয়, যা উইন্ডোর এক্সটেনশন।
উদাহরণ:
import java.awt.*;
public class WindowExample {
public static void main(String[] args) {
Window window = new Window(new Frame());
window.setSize(300, 200); // উইন্ডোর আকার
window.setVisible(true); // উইন্ডো প্রদর্শন
}
}
2. ফ্রেম (Frame):
AWT-তে ফ্রেম হলো একটি বিশেষ ধরনের উইন্ডো যা অ্যাপ্লিকেশন ইন্টারফেসের মূল অংশ হিসেবে কাজ করে। এটি একটি উচ্চতর কন্টেইনার, যা অন্যান্য উপাদান যেমন বোতাম, টেক্সটফিল্ড, লেবেল ইত্যাদি ধারণ করতে পারে।
- Frame ক্লাসটি
java.awt.Frameক্লাস থেকে ইনহেরিট করা হয়। - এটি একটি উইন্ডো তৈরি করে যেখানে ইন্টারফেসের অন্যান্য উপাদান যুক্ত করা যায়।
উদাহরণ:
import java.awt.*;
public class FrameExample {
public static void main(String[] args) {
Frame frame = new Frame("AWT Frame Example"); // ফ্রেম তৈরি
frame.setSize(400, 300); // ফ্রেমের আকার
frame.setVisible(true); // ফ্রেম প্রদর্শন
}
}
3. প্যানেল (Panel):
AWT-তে প্যানেল হলো একটি কন্টেইনার উপাদান যা অন্যান্য উপাদানকে ধারণ করতে পারে। এটি সাধারণত ফ্রেমের মধ্যে ছোট অংশ হিসেবে ব্যবহৃত হয় এবং এটি উইন্ডোতে বিভিন্ন উপাদান গোষ্ঠীভুক্ত করতে সাহায্য করে।
- Panel ক্লাসটি
java.awt.Panelথেকে তৈরি করা হয়। - এটি বিভিন্ন উপাদানকে সাজানোর জন্য ব্যবহৃত হয় এবং একে ফ্রেম বা অন্য কোনো কন্টেইনারে যুক্ত করা হয়।
উদাহরণ:
import java.awt.*;
public class PanelExample {
public static void main(String[] args) {
Frame frame = new Frame("AWT Panel Example");
Panel panel = new Panel(); // প্যানেল তৈরি
panel.setLayout(new FlowLayout()); // প্যানেলের লেআউট সেট করা
panel.add(new Button("Click Me")); // প্যানেলে বোতাম যোগ করা
frame.add(panel); // ফ্রেমে প্যানেল যোগ করা
frame.setSize(400, 300);
frame.setVisible(true);
}
}
- Window: এটি একটি সাধারণ গ্রাফিকাল উইন্ডো, যা অন্যান্য উপাদান ধারণ করতে পারে।
- Frame: এটি একটি উইন্ডোর বিশেষ ধরনের কন্টেইনার যা AWT অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়।
- Panel: এটি একটি কন্টেইনার যা অন্যান্য উপাদান (যেমন বোতাম, লেবেল) ধারণ করতে পারে এবং ফ্রেমের অংশ হিসেবে ব্যবহৃত হয়।
এই উপাদানগুলো ব্যবহার করে গ্রাফিকাল ইউজার ইন্টারফেস (GUI) তৈরি করা যায়, যা ব্যবহারকারীর সাথে সহজে ইন্টারঅ্যাক্ট করতে সহায়ক।
AWT-তে Frame ক্লাস ব্যবহার করে একটি উইন্ডো তৈরি করা খুবই সহজ। Frame হলো একটি বিশেষ ধরনের উইন্ডো যা AWT এর GUI উপাদানসমূহ ধারণ করতে পারে। নিচে একটি সাধারণ উদাহরণ দেয়া হলো, যেখানে Frame ক্লাস ব্যবহার করে একটি উইন্ডো তৈরি করা হয়েছে।
উদাহরণ: Frame ক্লাস দিয়ে উইন্ডো তৈরি করা
import java.awt.*;
public class FrameExample {
public static void main(String[] args) {
// Frame অবজেক্ট তৈরি
Frame frame = new Frame("AWT Frame Example");
// উইন্ডো আকার নির্ধারণ
frame.setSize(400, 300);
// উইন্ডো বন্ধ করার জন্য ইভেন্ট হ্যান্ডলার
frame.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent we) {
System.exit(0);
}
});
// উইন্ডো দৃশ্যমান করা
frame.setVisible(true);
}
}
কোডের ব্যাখ্যা:
Frame frame = new Frame("AWT Frame Example");- এটি একটি নতুন
Frameঅবজেক্ট তৈরি করে যার শিরোনাম "AWT Frame Example"।
- এটি একটি নতুন
frame.setSize(400, 300);- এখানে উইন্ডোর আকার 400 পিক্সেল প্রস্থ এবং 300 পিক্সেল উচ্চতা নির্ধারণ করা হয়েছে।
frame.addWindowListener(...)- এটি উইন্ডোর একটি
WindowListenerঅ্যাড করার জন্য ব্যবহৃত হয়েছে, যাতে উইন্ডো বন্ধ করার সময় প্রোগ্রামটি সঠিকভাবে বন্ধ হয়।windowClosingইভেন্টের মাধ্যমে উইন্ডো বন্ধ হলেSystem.exit(0)কল করা হয়, যা প্রোগ্রামটি বন্ধ করে দেয়।
- এটি উইন্ডোর একটি
frame.setVisible(true);- এটি উইন্ডোটিকে দৃশ্যমান (visible) করে তোলে।
ফলাফল:
এই কোডটি রান করলে একটি ৪০০x৩০০ পিক্সেলের উইন্ডো তৈরি হবে, যার শিরোনাম হবে "AWT Frame Example", এবং আপনি যখন উইন্ডোটি বন্ধ করবেন, প্রোগ্রামটি ঠিকভাবে শেষ হবে।
AWT (Abstract Window Toolkit)-এ Panel এবং Container দুটো গুরুত্বপূর্ণ উপাদান, যা গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) তৈরি করতে ব্যবহৃত হয়। তারা উইন্ডো বা ফ্রেমের মধ্যে বিভিন্ন উপাদান (components) ধারণ করতে এবং উপাদানগুলোর উপযুক্ত ব্যবস্থা বা লেআউট নিয়ন্ত্রণ করতে সাহায্য করে।
1. Panel:
Panel একটি Container বা ধারক, যা সাধারণত একাধিক উপাদান (components) গ্রুপ করতে ব্যবহৃত হয়। এটি ফ্রেম বা অন্য কোনো কনটেইনারের মধ্যে একটি ছোট ইউনিট হিসেবে কাজ করে এবং উপাদানগুলোর জন্য স্থান সরবরাহ করে।
- উদ্দেশ্য: Panel একটি লেআউটের অংশ হিসেবে কাজ করে এবং এতে একাধিক উপাদান রাখতে পারে, যেমন বোতাম, টেক্সট ফিল্ড ইত্যাদি।
- লেআউট ব্যবস্থাপনা: Panel নিজেই কোনো লেআউট ম্যানেজার (যেমন FlowLayout, GridLayout ইত্যাদি) ব্যবহার করতে পারে, অথবা লেআউট ম্যানেজার ব্যবহার না করেও উপাদানগুলোকে হাতে সাজানো যেতে পারে।
- দ্বিতীয়ক উপাদান: Panel কেবলমাত্র একটি কনটেইনার হিসেবে কাজ করে এবং এটিতে কোনো UI উপাদান সরাসরি প্রদর্শিত হয় না।
Panel-এর উদাহরণ:
import java.awt.*;
public class PanelExample {
public static void main(String[] args) {
Frame frame = new Frame("Panel Example");
Panel panel = new Panel();
panel.setLayout(new FlowLayout());
panel.add(new Button("Button 1"));
panel.add(new Button("Button 2"));
frame.add(panel);
frame.setSize(300, 200);
frame.setVisible(true);
}
}
এখানে Panel দুটি বোতাম ধারণ করছে এবং FlowLayout ব্যবহারের মাধ্যমে বোতামগুলোর অবস্থান নির্ধারণ করছে।
2. Container:
Container হলো একটি উপাদান যা একাধিক উপাদানকে ধারণ করতে পারে এবং উপাদানগুলোর ব্যবস্থাপনা ও প্রদর্শন নিয়ন্ত্রণ করতে সহায়ক। Panel এবং Frame (যেমন) Container ক্লাসের ডেরিভেটিভ, অর্থাৎ তারা Container শ্রেণীর বৈশিষ্ট্য ধারণ করে।
- উদ্দেশ্য: Container উইন্ডো বা প্যানেলের মতো একটি বৃহত্তর ইউনিটে একাধিক উপাদান (button, textfield, label ইত্যাদি) রাখে। এটি সাধারণত একটি সঠিক লেআউট ম্যানেজারের মাধ্যমে উপাদানগুলোর সজ্জা নিয়ন্ত্রণ করে।
- উপাদান রাখার ক্ষমতা: Container সব ধরনের উপাদান ধারণ করতে সক্ষম, এবং এটির মাধ্যমে সমস্ত উপাদানকে পর্যবেক্ষণ ও নিয়ন্ত্রণ করা হয়।
- উন্নত ব্যবস্থাপনা: Container ক্লাসটি উপাদানগুলোর জন্য লেআউট ম্যানেজার সরবরাহ করতে সক্ষম, যা উপাদানগুলোর যথাযথ স্থান নির্ধারণ করে।
Container-এর উদাহরণ:
import java.awt.*;
public class ContainerExample {
public static void main(String[] args) {
Frame frame = new Frame("Container Example");
frame.setLayout(new FlowLayout());
frame.add(new Button("Button 1"));
frame.add(new Button("Button 2"));
frame.setSize(300, 200);
frame.setVisible(true);
}
}
এখানে Frame হলো একটি Container, এবং এটি দুটি বোতাম ধারণ করছে। Frame নিজেই একটি কনটেইনার, তবে এটি সাধারণত বৃহত্তর উইন্ডো বা কনটেইনার হিসেবে ব্যবহৃত হয়।
Panel এবং Container-এর মধ্যে পার্থক্য:
- Panel হলো একটি ছোট কনটেইনার, যা একটি বৃহত্তর কনটেইনারের (যেমন Frame) মধ্যে ব্যবহার করা হয়, এবং সাধারণত একটি নির্দিষ্ট অংশে উপাদান ধারণ করতে ব্যবহৃত হয়।
- Container হলো একটি সাধারণ শ্রেণী, যা বিভিন্ন ধরনের কনটেইনার ক্লাস (যেমন Frame, Panel, Window) ধারণ করতে সক্ষম।
সারাংশ:
- Panel কেবল একটি ছোট কনটেইনার যা উপাদান গ্রুপ করতে ব্যবহৃত হয়।
- Container হলো একটি সাধারণ ক্লাস যা উপাদান ধারণ করতে এবং তাদের মধ্যে সঠিক ব্যবস্থাপনা করতে সহায়ক। Panel, Frame, এবং অন্যান্য কনটেইনারগুলি Container শ্রেণী থেকে আসে।
এডাব্লিউটি (AWT) লাইব্রেরির Window, Frame, এবং Dialog হলো GUI উপাদান যা জাভা প্রোগ্রামিং ভাষায় ব্যবহারকারীর ইন্টারঅ্যাকশনের জন্য ব্যবহৃত হয়। এগুলোর মাধ্যমে আমরা উইন্ডো বা ফ্রেম তৈরি করতে পারি, যেখানে বিভিন্ন কম্পোনেন্ট যেমন বাটন, টেক্সট ফিল্ড ইত্যাদি রাখা যায়। নিচে এগুলোর বিস্তারিত ব্যবহার তুলে ধরা হলো:
১. Window (AWT Window)
Window হল একটি জাভা GUI উপাদান যা একটি নতুন উইন্ডো তৈরি করতে ব্যবহৃত হয়। এটি একটি সাধারণ উইন্ডো তৈরি করে যেখানে অন্যান্য কম্পোনেন্ট রাখা যেতে পারে।
ব্যবহার:
- Window শুধুমাত্র একটি উইন্ডো প্রদর্শন করে, কিন্তু এর মধ্যে বিশেষ ধরনের উপাদানগুলো রাখতে হয় না।
- এটি সাধারণত ছোট আকারের উইন্ডো হিসাবে ব্যবহৃত হয়।
import java.awt.*;
public class WindowExample {
public static void main(String[] args) {
Window window = new Window(new Frame());
window.setSize(300, 200);
window.setVisible(true);
}
}
২. Frame (AWT Frame)
Frame একটি উইন্ডো যা সাধারণত একটি GUI অ্যাপ্লিকেশন চালানোর জন্য ব্যবহার করা হয়। এটি একটি বড় উইন্ডো, যার মধ্যে বিভিন্ন কম্পোনেন্ট যেমন বাটন, টেক্সট ফিল্ড, চেকবক্স ইত্যাদি রাখা যেতে পারে।
ব্যবহার:
- Frame হল মূল উইন্ডো, যা অ্যাপ্লিকেশনের প্রধান ইউজার ইন্টারফেস হিসেবে কাজ করে।
- এটি একটি
Windowএর সাথে সম্পর্কিত, তবে এটিতে বর্ধিত কার্যকারিতা থাকে যেমন মেনু বার, রিসাইজিং ইত্যাদি।
import java.awt.*;
public class FrameExample {
public static void main(String[] args) {
Frame frame = new Frame("AWT Frame Example");
frame.setSize(400, 300);
frame.setVisible(true);
}
}
৩. Dialog (AWT Dialog)
Dialog হল একটি পপ-আপ উইন্ডো যা ব্যবহারকারীর কাছে তথ্য প্রদর্শন বা তথ্য গ্রহণ করার জন্য ব্যবহৃত হয়। এটি সাধারণত অস্থায়ী উইন্ডো হিসেবে ব্যবহৃত হয় এবং ব্যবহারকারীকে একটি সিদ্ধান্ত নিতে বলে (যেমন "Yes/No" অথবা "OK/Cancel")।
ব্যবহার:
- Dialog মূলত একটি ফ্রেমের উপর অস্থায়ী উইন্ডো হিসেবে প্রদর্শিত হয় এবং এটি প্রধান অ্যাপ্লিকেশনের সাথে সংযুক্ত থাকে।
- এটি তথ্য শো করার জন্য, ব্যবহারকারী ইনপুট নেওয়ার জন্য বা কোনো কনফার্মেশন ডায়ালগ হিসেবে ব্যবহার করা যেতে পারে।
import java.awt.*;
public class DialogExample {
public static void main(String[] args) {
Frame frame = new Frame("Main Frame");
Dialog dialog = new Dialog(frame, "Dialog Example", true);
dialog.setSize(200, 150);
dialog.setVisible(true);
}
}
- Window একটি সাধারণ উইন্ডো তৈরি করে, তবে এতে অতিরিক্ত ইউজার ইন্টারফেস উপাদান থাকে না।
- Frame একটি পূর্ণাঙ্গ উইন্ডো প্রদান করে এবং এটি সাধারণত একটি অ্যাপ্লিকেশন চালানোর জন্য প্রধান উইন্ডো হিসেবে ব্যবহৃত হয়।
- Dialog ব্যবহারকারীর জন্য তথ্য শো করতে বা ইনপুট নিতে একটি অস্থায়ী উইন্ডো তৈরি করে, যা সাধারণত একটি ফ্রেমের উপরে দেখানো হয়।
এই তিনটি উপাদান একসাথে ব্যবহার করে আমরা একটি পূর্ণাঙ্গ GUI অ্যাপ্লিকেশন তৈরি করতে পারি।
এডাব্লিউটি (AWT) বা Abstract Window Toolkit হল একটি গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) লাইব্রেরি যা Java প্রোগ্রামিং ভাষায় ব্যবহৃত হয়। এটি ব্যবহারকারীর সঙ্গে ইন্টারঅ্যাকশন করার জন্য উইন্ডো, বোতাম, টেক্সট ফিল্ড, চেকবক্স এবং অন্যান্য GUI উপাদান প্রদান করে।
উইন্ডোর স্টাইল এবং Behavior কনফিগার করার জন্য কিছু গুরুত্বপূর্ণ পদক্ষেপ:
উইন্ডো তৈরি করা: Java AWT দিয়ে একটি উইন্ডো তৈরি করতে
Frameক্লাস ব্যবহার করা হয়। উদাহরণ:import java.awt.*; public class WindowExample { public static void main(String[] args) { Frame frame = new Frame("AWT Window Example"); frame.setSize(400, 300); frame.setVisible(true); } }এখানে
Frameক্লাস একটি মূল উইন্ডো তৈরি করে এবং সেটির আকার ও দৃশ্যমানতা কনফিগার করা হয়েছে।উইন্ডোর ক্লোজিং বিহেভিয়ার সেট করা: উইন্ডোটি বন্ধ করার জন্য উপযুক্ত অ্যাকশন নেওয়া প্রয়োজন।
WindowListenerব্যবহার করে উইন্ডো বন্ধ করার উপায়:frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent we) { System.exit(0); // অ্যাপ্লিকেশন বন্ধ হবে } });উইন্ডো স্টাইল কনফিগারেশন: উইন্ডো এর স্টাইল কনফিগার করতে নানা ধরনের অপশন দেওয়া যেতে পারে, যেমন:
- Iconify: উইন্ডোটি ছোট করতে।
- Resizable: উইন্ডোটি সাইজ পরিবর্তনযোগ্য করা।
উদাহরণ:
frame.setResizable(false); // উইন্ডোকে সাইজ পরিবর্তন না করার জন্য frame.setIconImage(Toolkit.getDefaultToolkit().getImage("icon.png")); // আইকন সেট করালেআউট ম্যানেজার: উইন্ডোর উপাদানগুলির (যেমন বোতাম, টেক্সট ফিল্ড ইত্যাদি) লেআউট কনফিগার করতে Java AWT
LayoutManagerব্যবহার করা হয়। কিছু পরিচিত লেআউট ম্যানেজার:FlowLayout: উপাদানগুলো সারি অনুযায়ী সাজাবে।BorderLayout: স্নিগ্ধ সীমার মধ্যে উপাদান সাজাবে (উত্তর, দক্ষিণ, পূর্ব, পশ্চিম, কেন্দ্র)।GridLayout: উপাদানগুলো একটি গ্রিডে সাজাবে।
উদাহরণ:
frame.setLayout(new FlowLayout()); Button btn = new Button("Click Me"); frame.add(btn);উইন্ডো এর সাইজ এবং অবস্থান: উইন্ডোর সাইজ এবং অবস্থান সেট করতে
setSize()এবংsetLocation()ব্যবহার করা হয়:frame.setSize(500, 400); // সাইজ সেট করা frame.setLocation(100, 100); // অবস্থান সেট করা
এইভাবে AWT উইন্ডোর স্টাইল এবং Behavior কনফিগার করা যেতে পারে। AWT অন্যান্য GUI উপাদান যেমন বোতাম, টেক্সট ফিল্ড ইত্যাদির স্টাইল এবং ব্যবহারের জন্য আরো অনেক ফিচার সরবরাহ করে।
Read more