Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để hiển thị một giá trị khi chọn một mục JList trong Java?


A JList là một lớp con của JComponent lớp cho phép người dùng chọn một đơn lẻ hoặc nhiều lựa chọn mục . JList có thể tạo ListSelectiionListener giao diện và nó bao gồm một phương thức trừu tượng valueChanged () . Chúng tôi có thể hiển thị giá trị khi một mục được chọn từ JList bằng cách triển khai MouseListener giao diện hoặc mở rộng MouseAdapter và gọi getClickCount () phương pháp với một cú nhấp chuột sự kiện ( getClickCount () ==1 ) của MouseEvent lớp học.

Ví dụ

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

Đầu ra

Làm thế nào để hiển thị một giá trị khi chọn một mục JList trong Java?