JList একটি কম্পোনেন্ট যা JComponent ক্লাস এক্সটেন্ড করে এবং অবজেক্টের একটি লিস্ট প্রদর্শন করতে ব্যবহৃত হয় যা ব্যবহারকারীকে এক বা একাধিক আইটেম সিলেক্ট করার অনুমতি দেয়।
জাভাতে JList-এর জন্য তিনটি প্রকার সিলেকশন মোড রয়েছে
- ListSelectionModel.SINGLE_SELECTION: একবারে শুধুমাত্র একটি লিস্ট ইন্ডেক্স সিলেক্ট করা যায়।
- ListSelectionModel.SINGLE_INTERVAL_SELECTION: একবারে শুধুমাত্র একটি kontinental интервал সিলেক্ট করা যায়।
- ListSelectionModel.MULTIPLE_INTERVAL_SELECTION: এই মোডে, কী সিলেক্ট করা যাবে সেটে কোনো বাধা নেই। এটি ডিফল্ট মোড।
উদাহরণ
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JListSelectionModeTest extends JFrame implements ActionListener {
private JList list;
private DefaultListModel listModel;
public JListSelectionModeTest() {
setTitle("JListSelectionMode Test");
setLayout(new BorderLayout());
listModel = new DefaultListModel();
for (int i = 1; i < 10; i++) {
listModel.addElement("list item #" + i);
}
list = new JList(listModel);
add(new JScrollPane(list), BorderLayout.CENTER);
JPanel panel = new JPanel(new GridLayout(3, 1));
JRadioButton rb1 = new JRadioButton("SINGLE_SELECTION");
rb1.addActionListener(this);
JRadioButton rb2 = new JRadioButton("SINGLE_INTERVAL_SELECTION");
rb2.addActionListener(this);
JRadioButton rb3 = new JRadioButton("MULTIPLE_INTERVAL_SELECTION");
rb3.addActionListener(this);
ButtonGroup bg = new ButtonGroup();
bg.add(rb1);
bg.add(rb2);
bg.add(rb3);
panel.add(rb1);
panel.add(rb2);
panel.add(rb3);
add(panel, BorderLayout.NORTH);
setSize(350, 275);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public void actionPerformed(ActionEvent ae) {
if (ae.getActionCommand().equals("SINGLE_SELECTION"))
list.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
else if (ae.getActionCommand().equals("SINGLE_INTERVAL_SELECTION"))
list.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
else if (ae.getActionCommand().equals("MULTIPLE_INTERVAL_SELECTION"))
list.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
}
public static void main(String[] args) {
new JListSelectionModeTest();
}
}
আউটপুট
