Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách triển khai JComboBox có thể chỉnh sửa trong Java

JComboBox

  • JComboBox mở rộng JComponent, kết hợp text field và drop-down list cho user chọn giá trị.
  • Nếu phần text field có thể edit, user nhập giá trị hoặc sửa giá trị từ drop-down.
  • Mặc định user không được edit phần text field. Để cho phép edit, gọi setEditable(true).
  • Tạo ActionListener, ChangeListener hoặc ItemListener khi user tác động combo box.
  • Phương thức getSelectedItem() lấy item được chọn hoặc nhập từ JComboBox.

Ví dụ

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

Kết quả

Cách triển khai JComboBox có thể chỉnh sửa trong Java