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();
}
} ผลลัพธ์
