AWT (Abstract Window Toolkit) হলো Java-র একটি GUI (Graphical User Interface) টুলকিট যা ব্যবহারকারীদের গ্রাফিক্যাল ইন্টারফেস তৈরি করতে সহায়তা করে। AWT বিভিন্ন ধরনের কম্পোনেন্ট এবং কন্ট্রোলস প্রদান করে যা ব্যবহারকারী ইন্টারফেসের জন্য প্রয়োজনীয় উপাদান হিসেবে কাজ করে।
এখানে AWT-এর প্রধান কম্পোনেন্ট এবং তাদের ব্যবহার বর্ণনা করা হলো:
১. Frame
- ব্যবহার:
Frameহলো একটি প্রধান উইন্ডো, যা অন্যান্য কম্পোনেন্ট (যেমন বোতাম, টেক্সট ফিল্ড) ধারণ করে। এটি একটি "টপ-লেভেল" কন্টেইনার। উদাহরণ:
Frame f = new Frame("My Frame"); f.setSize(400, 300); f.setVisible(true);
২. Panel
- ব্যবহার:
Panelহলো একটি কন্টেইনার যা অন্যান্য কম্পোনেন্ট বা কন্টেইনার ধারণ করতে ব্যবহৃত হয়। এটি সাধারণত ছোট, সেকেন্ডারি কন্টেইনার হিসেবে ব্যবহৃত হয়, যা একটিFrameবা অন্য কন্টেইনারের অংশ হতে পারে। উদাহরণ:
Panel p = new Panel(); p.add(new Button("Button"));
৩. Button
- ব্যবহার:
Buttonব্যবহারকারীর ক্লিকের মাধ্যমে একটি ইভেন্ট ট্রিগার করার জন্য ব্যবহৃত হয়। এটি GUI অ্যাপ্লিকেশনে অনেক জনপ্রিয় কন্ট্রোল। উদাহরণ:
Button b = new Button("Click Me"); b.setBounds(100, 100, 80, 30);
৪. Label
- ব্যবহার:
Labelএকটি পাঠ্য উপাদান যা ব্যবহারকারীর জন্য কোন তথ্য বা বার্তা প্রদর্শন করে। এটি ক্লিকযোগ্য নয় এবং শুধুমাত্র প্রদর্শনের জন্য ব্যবহৃত হয়। উদাহরণ:
Label l = new Label("This is a label"); l.setBounds(100, 150, 150, 30);
৫. TextField
- ব্যবহার:
TextFieldব্যবহারকারীর ইনপুট নেওয়ার জন্য একটি একক লাইন টেক্সট ফিল্ড প্রদান করে। উদাহরণ:
TextField tf = new TextField("Default Text"); tf.setBounds(100, 200, 150, 30);
৬. TextArea
- ব্যবহার:
TextAreaএকাধিক লাইন ইনপুট গ্রহণ করার জন্য ব্যবহৃত হয়। এটি একটি মাল্টিলাইন টেক্সট ফিল্ড। উদাহরণ:
TextArea ta = new TextArea("Multiline text area"); ta.setBounds(100, 250, 150, 100);
৭. Checkbox
- ব্যবহার:
Checkboxব্যবহারকারীর থেকে একটি বা একাধিক অপশন নির্বাচনের জন্য ব্যবহৃত হয়। এটি একটি অন/অফ কন্ট্রোল। উদাহরণ:
Checkbox c = new Checkbox("Accept Terms and Conditions"); c.setBounds(100, 350, 200, 30);
৮. Choice
- ব্যবহার:
Choiceএকটি ড্রপ-ডাউন মেনু তৈরি করে, যা থেকে ব্যবহারকারী একটি নির্দিষ্ট অপশন নির্বাচন করতে পারে। উদাহরণ:
Choice c = new Choice(); c.add("Option 1"); c.add("Option 2"); c.setBounds(100, 400, 100, 30);
৯. List
- ব্যবহার:
Listকম্পোনেন্টটি একটি তালিকা প্রদর্শন করে যেখানে এক বা একাধিক আইটেম নির্বাচন করা যায়। উদাহরণ:
List l = new List(); l.add("Item 1"); l.add("Item 2"); l.setBounds(100, 450, 100, 60);
১০. Menu and MenuItem
- ব্যবহার:
MenuএবংMenuItemকম্পোনেন্টগুলি ব্যবহারকারীকে একটি মেনু তৈরি এবং মেনু আইটেম নির্বাচন করার সুযোগ দেয়। উদাহরণ:
Menu m = new Menu("File"); m.add(new MenuItem("Open")); m.add(new MenuItem("Exit"));
১১. Scrollbar
- ব্যবহার:
Scrollbarকম্পোনেন্টটি স্ক্রলিং উপাদান তৈরি করে যা দীর্ঘ বা বড় কনটেন্টের জন্য উপযুক্ত। উদাহরণ:
Scrollbar s = new Scrollbar(); s.setBounds(100, 500, 100, 30);
১২. Layout Managers
AWT বিভিন্ন layout managers প্রদান করে, যা কম্পোনেন্টগুলোকে একটি নির্দিষ্ট ব্যবস্থা অনুযায়ী সাজাতে সাহায্য করে। কিছু গুরুত্বপূর্ণ layout managers:
- FlowLayout: কম্পোনেন্টগুলো একে একে এবং পংক্তির মধ্যে সাজায়।
- BorderLayout: কম্পোনেন্টগুলোকে ৫টি অঞ্চলে (North, South, East, West, Center) ভাগ করে।
- GridLayout: কম্পোনেন্টগুলোকে একাধিক সারি এবং কলামে সাজায়।
উদাহরণ:
Frame f = new Frame("AWT Example");
f.setLayout(new FlowLayout());
f.add(new Button("Click"));
f.add(new TextField("Input text"));
f.setSize(300, 200);
f.setVisible(true);
AWT কম্পোনেন্টগুলি ব্যবহারকারীর জন্য একটি ইন্টারফেস তৈরি করতে সহায়ক, কিন্তু আধুনিক অ্যাপ্লিকেশনগুলির জন্য JavaFX বা Swing বেশি জনপ্রিয় এবং বৈশিষ্ট্যপূর্ণ বিকল্প হিসেবে বিবেচিত হয়। AWT-এর ব্যবহার এখনও প্রচলিত, তবে এটি কিছু সীমাবদ্ধতার কারণে প্রায়ই Swing বা JavaFX-এর মতো উন্নত টুলকিটের সাথে প্রতিস্থাপিত হয়।