JList হলো JComponent ক্লাসের একটি সাবক্লাস যা ইউজারকে সিঙ্গেল বা মাল্টিপল সিলেকশন অফ আইটেমস করতে দেয়। JList ListSelectionListener ইন্টারফেস জেনারেট করতে পারে এবং এতে একটি অ্যাবস্ট্রাক্ট মেথড valueChanged() থাকে। MouseListener ইন্টারফেস বাস্তবায়ন করে বা MouseAdapter ক্লাস এক্সটেন্ড করে এবং MouseEvent ক্লাসের getClickCount() মেথড সিঙ্গেল-ক্লিক ইভেন্ট (getClickCount() == 1) দিয়ে কল করে JList-এ আইটেম সিলেক্ট হলে মান প্রদর্শন করা যায়।
উদাহরণ
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class JListItemSeletionTest extends JFrame {
private JList list;
private JScrollPane jsp;
private Vector data;
public JListItemSeletionTest() {
setTitle("JListItemSeletion Test");
list = new JList();
data = new Vector();
data.addElement("India");
data.addElement("Australia");
data.addElement("England");
data.addElement("England");
data.addElement("New Zealand");
data.addElement("South Africa");
list.setListData(data);
list.setSelectedIndex(0);
list.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent me) {
if (me.getClickCount() == 1) {
JList target = (JList)me.getSource();
int index = target.locationToIndex(me.getPoint());
if (index >= 0) {
Object item = target.getModel().getElementAt(index);
JOptionPane.showMessageDialog(null, item.toString());
}
}
}
});
jsp = new JScrollPane(list);
add(jsp, BorderLayout.NORTH);
setSize(400, 275);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String args[]) {
new JListItemSeletionTest();
}
}
আউটপুট
