阅读量:0
在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); } }
运行该程序,可以看到一个下拉框和一个搜索框。在搜索框中输入关键字后,下拉框中的选项会根据关键字进行过滤显示。