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

เราจะนำ JComboBox ที่แก้ไขได้ไปใช้ใน Java ได้อย่างไร


JComboBox

  • A JComboBox สามารถขยาย JComponent class และมันคือการรวมกันของ ฟิลด์ข้อความ และ รายการแบบเลื่อนลง ซึ่งผู้ใช้สามารถเลือกค่าได้
  • ถ้าส่วนฟิลด์ข้อความของตัวควบคุมสามารถแก้ไขได้ ผู้ใช้สามารถป้อนค่าในฟิลด์หรือแก้ไขค่าที่ดึงมาจากรายการดรอปดาวน์
  • โดยค่าเริ่มต้น ผู้ใช้ไม่ได้รับอนุญาตให้แก้ไขข้อมูลในส่วนฟิลด์ข้อความของ JComboBox . หากเราต้องการอนุญาตให้ผู้ใช้แก้ไขฟิลด์ข้อความ ให้เรียก setEditable(true) วิธีการ
  • A JComboBox สามารถสร้าง ActionListener , ChangeListener หรือ ItemListener เมื่อผู้ใช้ดำเนินการกับกล่องคำสั่งผสม
  • A getSelectedItem() สามารถใช้เพื่อรับรายการที่เลือกหรือป้อนจาก JComboBox ได้

ตัวอย่าง

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JEditableComboBoxTest extends JFrame {
   public JEditableComboBoxTest() {
      setTitle("JEditableComboBox Test");
      setLayout(new BorderLayout());
      final JComboBox combobox = new JComboBox();
      final JList list = new JList(new DefaultListModel());
      add(BorderLayout.NORTH, combobox);
      add(BorderLayout.CENTER, list);
      combobox.setEditable(true);
      combobox.addItemListener(new ItemListener() {
         public void itemStateChanged(ItemEvent ie) {
            if (ie.getStateChange() == ItemEvent.SELECTED) {
               ((DefaultListModel) list.getModel()).addElement(combobox.getSelectedItem());
               combobox.insertItemAt(combobox.getSelectedItem(), 0);
            }
         }
      });
      setSize(new Dimension(375, 250));
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public static void main(String[] args) throws Exception {
      new JEditableComboBoxTest();
   }
}

ผลลัพธ์

เราจะนำ JComboBox ที่แก้ไขได้ไปใช้ใน Java ได้อย่างไร