Java

Java下拉框的搜索功能实现

小樊
140
2024-08-07 03:21:24
栏目: 编程语言

在Java中实现下拉框的搜索功能可以使用JComboBox组件和JTextField组件结合使用的方式来实现。

首先,创建一个JComboBox和一个JTextField组件,JComboBox用于显示下拉框,JTextField用于输入搜索关键字。

然后,为JTextField组件添加一个监听器,监听键盘输入事件,当输入框中的内容发生变化时,根据输入框中的内容过滤JComboBox中的选项。

示例代码如下:

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

public class ComboBoxSearchExample {
    public static void main(String[] args) {
        String[] items = {"Item 1", "Item 2", "Item 3", "Item 4", "Item 5", "Item 6"};

        JComboBox<String> comboBox = new JComboBox<>(items);
        JTextField textField = new JTextField(20);

        textField.addKeyListener(new KeyAdapter() {
            @Override
            public void keyReleased(KeyEvent e) {
                String keyword = textField.getText().toLowerCase();
                DefaultComboBoxModel<String> model = new DefaultComboBoxModel<>();
                for (String item : items) {
                    if (item.toLowerCase().contains(keyword)) {
                        model.addElement(item);
                    }
                }
                comboBox.setModel(model);
            }
        });

        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));
        frame.add(comboBox);
        frame.add(textField);

        frame.pack();
        frame.setVisible(true);
    }
}

运行该程序,可以看到一个下拉框和一个搜索框。在搜索框中输入关键字后,下拉框中的选项会根据关键字进行过滤显示。

0
看了该问题的人还看了