Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะแสดงค่าเมื่อเลือกรายการ JList ใน Java ได้อย่างไร?


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();
   }
}

ผลลัพธ์

จะแสดงค่าเมื่อเลือกรายการ JList ใน Java ได้อย่างไร?