এডাব্লিউটি (AWT) এর বেসিক গঠন এবং ক্লাস স্ট্রাকচার হল এমন একটি কাঠামো যা গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) উপাদান তৈরি, পরিচালনা এবং ইন্টারঅ্যাকশনের জন্য ব্যবহৃত হয়। AWT মূলত Java AWT package এর বিভিন্ন ক্লাস ও ইন্টারফেসের মাধ্যমে GUI উপাদানগুলো প্রদান করে। AWT এর মধ্যে বিভিন্ন ধরনের ক্লাস এবং ইন্টারফেস অন্তর্ভুক্ত থাকে, যা বিভিন্ন GUI উপাদান এবং ইভেন্ট হ্যান্ডলিং কার্য সম্পাদন করতে ব্যবহৃত হয়।
AWT এর বেসিক গঠন:
AWT এর প্রধান উদ্দেশ্য হলো GUI উপাদানগুলির সঞ্চালন এবং ইন্টারঅ্যাকশন সহজ করা। এটি কিছু মূল উপাদান ব্যবহার করে কাজ করে:
- Component (ক্লাস):
- AWT এর সমস্ত GUI উপাদান (যেমন Button, Label, TextField) Component ক্লাস থেকে উৎসূত। এটি একটি অত্যন্ত গুরুত্বপূর্ণ ক্লাস, যেটি সমস্ত GUI উপাদানকে মৌলিক বৈশিষ্ট্য প্রদান করে। যেমন: position, size, visibility, ইত্যাদি।
- উদাহরণস্বরূপ,
Button,TextField,Labelইত্যাদিComponentক্লাসের সাবক্লাস।
- Container (ক্লাস):
- Container একটি বিশেষ ধরণের কম্পোনেন্ট যা অন্যান্য কম্পোনেন্ট ধারণ করতে পারে। এটি প্রাথমিকভাবে layout managers (যেমন FlowLayout, BorderLayout, GridLayout) এবং অন্যান্য কম্পোনেন্টগুলি পরিচালনা করতে ব্যবহৃত হয়।
- উদাহরণ:
Frame,Panel,Dialogইত্যাদিContainerক্লাসের সাবক্লাস।
- Window (ক্লাস):
- AWT এর Window ক্লাস,
FrameএবংDialogএর মতো উইন্ডো তৈরি করার জন্য ব্যবহৃত হয়। - এটি ব্যবহারকারীর ইন্টারফেসের প্রধান উইন্ডো তৈরি করতে সাহায্য করে।
- AWT এর Window ক্লাস,
- Layout Managers:
- Layout Managers বিভিন্ন ধরনের লেআউট তৈরি করার জন্য ব্যবহৃত হয়, যেমন:
FlowLayout: উপাদানগুলো একে অপরের পাশে সাজানো হয়।BorderLayout: পাঁচটি অঞ্চলে (উত্তর, দক্ষিণ, পূর্ব, পশ্চিম, কেন্দ্র) উপাদানগুলো স্থাপন করা হয়।GridLayout: গ্রিড আকারে উপাদানগুলো সাজানো হয়।
- Layout Managers বিভিন্ন ধরনের লেআউট তৈরি করার জন্য ব্যবহৃত হয়, যেমন:
- Event Handling:
- AWT ইভেন্ট পরিচালনার জন্য EventListener ইন্টারফেস ব্যবহার করে। যখন ব্যবহারকারী কোন ইভেন্ট ঘটায় (যেমন বাটন ক্লিক), তখন তা একটি Event এ রূপান্তরিত হয় এবং উপযুক্ত ইভেন্ট লিসনারের মাধ্যমে তা পরিচালিত হয়।
- ActionListener, MouseListener, KeyListener ইত্যাদি ইভেন্ট লিসনার ক্লাসগুলো ইভেন্টগুলির জন্য ব্যবহৃত হয়।
AWT এর ক্লাস স্ট্রাকচার:
- Component (superclass)
Button,Label,TextField,TextArea,Checkbox,List,Choice,Menu,MenuItem,Scrollbar,Canvasইত্যাদি ক্লাস Component থেকে উত্তরাধিকারসূত্রে আসে।
- Container (subclass of Component)
Frame,Panel,Dialog,Window,Appletইত্যাদি ক্লাস Container থেকে উত্তরাধিকারসূত্রে আসে।- এগুলি অন্যান্য কম্পোনেন্ট ধারণ এবং দেখানোর জন্য ব্যবহৃত হয়।
- Event (Superclass of all events)
- AWT ইভেন্টগুলি সাধারণত
Eventক্লাসের অন্তর্ভুক্ত থাকে। এর মাধ্যমে EventListener কে সঠিক ইভেন্ট সনাক্তকরণ এবং হ্যান্ডলিং করার ক্ষমতা প্রদান করা হয়।
- AWT ইভেন্টগুলি সাধারণত
- LayoutManager (Interface)
- LayoutManager ইন্টারফেসটি বিভিন্ন লেআউট ম্যানেজারদের জন্য ভিত্তি প্রদান করে। কিছু সাধারণ লেআউট ম্যানেজার হল:
FlowLayout: উপাদানগুলো সোজা রেখায় সাজানো হয়।BorderLayout: পাঁচটি অঞ্চলে (উত্তর, দক্ষিণ, পূর্ব, পশ্চিম, কেন্দ্র) কম্পোনেন্টগুলির পজিশন প্রদান করে।GridLayout: সমান সাইজের গ্রিড আকারে উপাদানগুলো সাজানো হয়।
- LayoutManager ইন্টারফেসটি বিভিন্ন লেআউট ম্যানেজারদের জন্য ভিত্তি প্রদান করে। কিছু সাধারণ লেআউট ম্যানেজার হল:
AWT-এর মূল ক্লাসের সংক্ষিপ্ত বর্ণনা:
- Frame: GUI অ্যাপ্লিকেশন তৈরির জন্য একটি উইন্ডো প্রদান করে, যেখানে অন্যান্য কম্পোনেন্ট রাখা যায়।
- Button: ব্যবহারকারীর ইনপুট গ্রহণ করার জন্য একটি বাটন উপাদান।
- TextField: একটি একক লাইনের টেক্সট ইনপুট ফিল্ড।
- TextArea: একাধিক লাইনের টেক্সট ইনপুট ফিল্ড।
- Label: ব্যবহারকারীর জন্য একটি টেক্সট বা স্ট্যাটিক তথ্য প্রদর্শন করতে ব্যবহৃত হয়।
- Checkbox: চেকবক্সের মাধ্যমে ব্যবহারকারীর পছন্দ নেওয়া যায়।
- Panel: অন্যান্য কম্পোনেন্ট ধারণ করার জন্য একটি কন্টেইনার।
- Canvas: গ্রাফিক্স বা ড্রইং কার্য সম্পাদনের জন্য ব্যবহৃত একটি কম্পোনেন্ট।
AWT-এর ইভেন্ট হ্যান্ডলিং:
AWT ইভেন্ট হ্যান্ডলিং সিস্টেম ব্যবহার করে বিভিন্ন ব্যবহারকারী ইন্টারঅ্যাকশন যেমন বাটন ক্লিক, কীবোর্ড ইনপুট বা মাউস মুভমেন্ট হ্যান্ডেল করা হয়। এটি দুটি প্রধান উপাদানের মাধ্যমে কাজ করে:
- Event Source: যেখান থেকে ইভেন্ট উৎপন্ন হয় (যেমন একটি বাটন ক্লিক হলে)।
- Event Listener: যিনি সেই ইভেন্টটি হ্যান্ডেল করেন (যেমন
ActionListenerবাMouseListenerইন্টারফেস)।
AWT ইভেন্ট হ্যান্ডলিং নিম্নলিখিত কৌশলগুলো ব্যবহার করে:
- ActionListener: বাটন ক্লিক ইভেন্ট।
- MouseListener: মাউসের ইভেন্ট।
- KeyListener: কীবোর্ডের ইভেন্ট।
AWT এর ক্লাস স্ট্রাকচার চিত্র:
java.awt.Component
|
+---------+---------+
| |
Button TextField
|
Frame (Container)
এটি AWT এর বেসিক গঠন এবং ক্লাস স্ট্রাকচার সংক্রান্ত একটি সংক্ষিপ্ত বর্ণনা।
Read more