AWT (Abstract Window Toolkit)-তে Multiple Selection এবং Single Selection Handling করতে হলে সাধারণত List কম্পোনেন্ট ব্যবহার করা হয়। এর মাধ্যমে আমরা ব্যবহারকারীর এক বা একাধিক আইটেম নির্বাচন করার অনুমতি দিতে পারি। List কম্পোনেন্টের মধ্যে setMultipleMode() পদ্ধতি ব্যবহার করে একাধিক নির্বাচন সম্ভব করা হয়। আর সাধারণ নির্বাচনের জন্য এই সেটিংটি ব্যবহার করা হয় না।
Single Selection Handling:
এখানে ব্যবহারকারী শুধুমাত্র একটি আইটেম নির্বাচন করতে পারবেন।
Multiple Selection Handling:
এখানে ব্যবহারকারী একাধিক আইটেম নির্বাচন করতে পারবেন, যদি setMultipleMode(true) ব্যবহার করা হয়।
উদাহরণ: Single Selection এবং Multiple Selection Handling
import java.awt.*;
import java.awt.event.*;
public class ListSelectionExample {
public static void main(String[] args) {
// Frame অবজেক্ট তৈরি
Frame frame = new Frame("AWT List Selection Example");
// Single selection List তৈরি
List singleSelectList = new List();
singleSelectList.add("Apple");
singleSelectList.add("Banana");
singleSelectList.add("Cherry");
singleSelectList.add("Date");
singleSelectList.add("Grapes");
// Multiple selection List তৈরি
List multipleSelectList = new List();
multipleSelectList.add("One");
multipleSelectList.add("Two");
multipleSelectList.add("Three");
multipleSelectList.add("Four");
multipleSelectList.add("Five");
// Multiple selection enabled
multipleSelectList.setMultipleMode(true);
// Single selection List এর জন্য ActionListener
singleSelectList.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String selectedItem = singleSelectList.getSelectedItem();
System.out.println("Single selection: " + selectedItem);
}
});
// Multiple selection List এর জন্য ItemListener
multipleSelectList.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
// Get selected items
String[] selectedItems = multipleSelectList.getSelectedItems();
System.out.println("Multiple selection: ");
for (String item : selectedItems) {
System.out.println(item);
}
}
});
// Layout নির্ধারণ করা
frame.setLayout(new FlowLayout());
// List গুলো ফ্রেমে যোগ করা
frame.add(new Label("Single Selection List:"));
frame.add(singleSelectList);
frame.add(new Label("Multiple Selection List:"));
frame.add(multipleSelectList);
// উইন্ডোর আকার নির্ধারণ
frame.setSize(300, 300);
// উইন্ডো বন্ধ করার জন্য ইভেন্ট হ্যান্ডলার
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
// উইন্ডো দৃশ্যমান করা
frame.setVisible(true);
}
}
কোডের ব্যাখ্যা:
- Single Selection List:
List singleSelectList = new List();এListকম্পোনেন্ট তৈরি করা হয়েছে, যা একাধিক আইটেম ধারণ করবে।- এখানে শুধুমাত্র একটি আইটেম নির্বাচন করার অনুমতি দেওয়া হয়েছে, কারণ
setMultipleMode(false)(ডিফল্ট সেটিং) ব্যবহার করা হয়েছে। addActionListenerদিয়ে একটি ইভেন্ট হ্যান্ডলার যোগ করা হয়েছে, যা নির্বাচিত আইটেমকে কনসোলে প্রিন্ট করবে।
- Multiple Selection List:
List multipleSelectList = new List();এ আরেকটিListকম্পোনেন্ট তৈরি করা হয়েছে, যেখানে একাধিক আইটেম নির্বাচন করা যাবে।multipleSelectList.setMultipleMode(true);ব্যবহার করে মুলতiple নির্বাচন সক্রিয় করা হয়েছে।addItemListenerদিয়ে একটিItemListenerযোগ করা হয়েছে, যা নির্বাচন করা আইটেমগুলো কনসোলে প্রিন্ট করবে।
- ইভেন্ট হ্যান্ডলিং:
- Single Selection:
ActionListenerব্যবহার করা হয়েছে, যা একটি আইটেম নির্বাচিত হলে কনসোলে তার নাম প্রিন্ট করবে। - Multiple Selection:
ItemListenerব্যবহার করা হয়েছে, যা একাধিক আইটেম নির্বাচন করা হলে তাদের নাম কনসোলে প্রিন্ট করবে।
- Single Selection:
- ফ্রেমের কনফিগারেশন:
- উইন্ডোর আকার নির্ধারণ করা হয়েছে এবং একটি
FlowLayoutব্যবহার করে কম্পোনেন্টগুলো সাজানো হয়েছে। WindowListenerদিয়ে উইন্ডো বন্ধ করার কোড দেওয়া হয়েছে।
- উইন্ডোর আকার নির্ধারণ করা হয়েছে এবং একটি
ফলাফল:
- Single Selection: যখন ব্যবহারকারী একটি আইটেম নির্বাচন করবেন, তখন কনসোলে
"Single selection: [selected item]"প্রিন্ট হবে। - Multiple Selection: যখন ব্যবহারকারী একাধিক আইটেম নির্বাচন করবেন, তখন কনসোলে
"Multiple selection: [selected items]"প্রিন্ট হবে।
এভাবে, AWT তে Single Selection এবং Multiple Selection হ্যান্ডলিং করা যায়।
Read more