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

โหมดการเลือกสำหรับ JList ใน Java มีกี่ประเภท


A JList เป็นส่วนประกอบที่สามารถขยาย JComponent คลาสที่ใช้แสดงรายการวัตถุที่อนุญาตให้ผู้ใช้เลือกหนึ่งรายการขึ้นไป

มีโหมดการเลือกสามประเภทสำหรับ JList ใน Java

  • ListSelectionModel.SINGLE_SELECTION :สามารถเลือกดัชนีรายการได้ครั้งละหนึ่งรายการเท่านั้น
  • ListSelectionModel.SINGLE_INTERVAL_SELECTION :สามารถเลือกช่วงเวลาต่อเนื่องกันได้ครั้งละหนึ่งช่วงเท่านั้น
  • ListSelectionModel.MULTIPLE_INTERVAL_SELECTION: ในโหมดนี้ ไม่มีการจำกัดสิ่งที่สามารถเลือกได้ นี่คือโหมดเริ่มต้น

ตัวอย่าง

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JListSelectionModeTest extends JFrame implements ActionListener {
   private JList list;
   private DefaultListModel listModel;
   public JListSelectionModeTest() {
      setTitle("JListSelectionMode Test");
      setLayout(new BorderLayout());
      listModel = new DefaultListModel();
      for (int i = 1; i < 10; i++) {
         listModel.addElement("list item #" + i);
      }
      list = new JList(listModel);
      add(new JScrollPane(list), BorderLayout.CENTER);
      JPanel panel = new JPanel(new GridLayout(3, 1));
      JRadioButton rb1 = new JRadioButton("SINGLE_SELECTION");
      rb1.addActionListener(this);
      JRadioButton rb2 = new JRadioButton("SINGLE_INTERVAL_SELECTION");
      rb2.addActionListener(this);
      JRadioButton rb3 = new JRadioButton("MULTIPLE_INTERVAL_SELECTION");
      rb3.addActionListener(this);
      ButtonGroup bg = new ButtonGroup();
      bg.add(rb1);
      bg.add(rb2);
      bg.add(rb3);
      panel.add(rb1);
      panel.add(rb2);
      panel.add(rb3);
      add(panel, BorderLayout.NORTH);
      setSize(350, 275);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public void actionPerformed(ActionEvent ae) {
      if (ae.getActionCommand().equals("SINGLE_SELECTION"))
         list.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
      else if (ae.getActionCommand().equals("SINGLE_INTERVAL_SELECTION"))
         list.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
      else if (ae.getActionCommand().equals("MULTIPLE_INTERVAL_SELECTION"))
         list.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
   }
   public static void main(String[] args) {
      new JListSelectionModeTest();
   }
}

ผลลัพธ์

โหมดการเลือกสำหรับ JList ใน Java มีกี่ประเภท