一、实现效果
二、代码
Java代码
importjava.awt.*;
importjava.awt.event.*;
importjava.util.*;
importjavax.swing.*;
importjavax.swing.event.*;
publicclassTest {
publicstaticvoidmain(String[] args)throwsException {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
JFrame frame =newJFrame();
frame.setTitle("Auto Completion Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(200,200,500,400);
ArrayList items =newArrayList();
Locale[] locales = Locale.getAvailableLocales();
for(inti =0; i
String item = locales[i].getDisplayName();
System.out.println(item);
items.add(item);
}
JTextField txtInput =newJTextField();
setupAutoComplete(txtInput, items);
txtInput.setColumns(30);
frame.getContentPane().setLayout(newFlowLayout());
frame.getContentPane().add(txtInput, BorderLayout.NORTH);
frame.setVisible(true);
}
privatestaticbooleanisAdjusting(JComboBox cbInput) {
if(cbInput.getClientProperty("is_adjusting")instanceofBoolean) {
return(Boolean) cbInput.getClientProperty("is_adjusting");
}
returnfalse;
}