A JList เป็นคลาสย่อยของ JComponent คลาสที่อนุญาตให้ผู้ใช้เลือก เดี่ยว หรือ เลือกได้หลายรายการ . JList สามารถสร้าง ListSelectiionListener อินเทอร์เฟซและรวมวิธีการที่เป็นนามธรรม valueChanged() . เราสามารถแสดงค่าเมื่อมีการเลือกรายการจาก JList โดยดำเนินการ MouseListener อินเทอร์เฟซหรือการขยาย MouseAdapter คลาสและเรียก getClickCount() วิธีการด้วย คลิกเพียงครั้งเดียว เหตุการณ์ (getClickCount() ==1 ) ของ MouseEvent ชั้นเรียน
ตัวอย่าง
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(); } }
ผลลัพธ์