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

เราจะจับการดับเบิลคลิกและป้อนเหตุการณ์สำคัญสำหรับ JList ใน Java ได้อย่างไร


A JList สามารถขยาย JComponent คลาสที่อนุญาตให้ผู้ใช้เลือกการเลือกเดียวหรือหลายรายการ JList สามารถสร้าง ListSelectiionListener อินเทอร์เฟซและรวมวิธีการที่เป็นนามธรรมหนึ่งวิธี valueChanged() JList สามารถสร้าง MouseListener . ได้ อินเทอร์เฟซเพื่อจับ เหตุการณ์ดับเบิลคลิก i n รายการและสร้าง KeyListener อินเทอร์เฟซเพื่อจับ ป้อนเหตุการณ์สำคัญ .

ตัวอย่าง

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
public class JListTest extends JFrame {
   public JListTest() {
      setTitle("JList Test");
      setLayout(new FlowLayout());
      Vector v = new Vector();
      for (int i = 1; i < 15; i++) {
         v.addElement("Item #" + i);
      }
      add(new JLabel("Double-clicked on: "));
      final JTextField dblTextField = new JTextField(15);
      add(dblTextField);
      add(new JLabel("Enter key on: "));
      final JTextField entTextField = new JTextField(15);
      add(entTextField);
      final JList list = new JList(v);
      // catch double-click events
      list.addMouseListener(new MouseAdapter() {
         public void mouseClicked(MouseEvent me) {
            if (me.getClickCount() == 2) {
               dblTextField.setText(""+list.getSelectedValue());
            }
         }
      });
      // catch enter-key events
      list.addKeyListener(new KeyAdapter() {
         public void keyReleased(KeyEvent ke) {
            if(ke.getKeyCode() == KeyEvent.VK_ENTER) {
               entTextField.setText(""+list.getSelectedValue());
            }
         }
      });
      add(new JScrollPane(list));
      setSize(375, 250);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public static void main(String[] args) {
      new JListTest();
   }
}

ผลลัพธ์

เราจะจับการดับเบิลคลิกและป้อนเหตุการณ์สำคัญสำหรับ JList ใน Java ได้อย่างไร