Java 如何限制用户在JCombobox中输入列表以外的值?
我想限制用户在JCombobox中输入列表以外的值,同时我想在JCombobox中执行自动完成。所以我使用的是SwingX库。有时,它会让用户重新输入列表以外的值,但有时它允许用户输入 有人能给我建议或者给我其他的解决方案吗 代码如下:Java 如何限制用户在JCombobox中输入列表以外的值?,java,swing,jcombobox,Java,Swing,Jcombobox,我想限制用户在JCombobox中输入列表以外的值,同时我想在JCombobox中执行自动完成。所以我使用的是SwingX库。有时,它会让用户重新输入列表以外的值,但有时它允许用户输入 有人能给我建议或者给我其他的解决方案吗 代码如下: Vector temp = new Vector(); temp.add(""); String sql = "select mat_uom from mat_type where mat_type = ?"; p
Vector temp = new Vector();
temp.add("");
String sql = "select mat_uom from mat_type where mat_type = ?";
pst = conn.prepareStatement(sql);
pst.setString(1, matType.getSelectedItem().toString());
rs = pst.executeQuery();
while(rs.next()){
temp.add(rs.getString(1));
}
DefaultComboBoxModel model = new DefaultComboBoxModel(temp);
matUom.setModel(model);
AutoCompleteDecorator.decorate(matUom);
提前感谢。是的,解决方案已经完成 如果您想在自己的项目中使用自动完成,只需下载这个。然后在GUI代码中使用以下代码段
AutoCompletion.enable(yourComboBox);
我尝试过你的建议,但我得到了空指针异常,第一次,它允许我输入列表值以外的值。不,它不会引发任何异常。只需单独运行该类,看看它是如何工作的。你能发布你的代码吗。你可能初始化错误。这里我粘贴了我的代码,你能给我建议吗,如果在我的代码中需要。矢量温度=新矢量;rs=pst.executeQuery;而rs.next{temp.addrs.getStringf_nm;}DefaultComboxModel=new DefaultComboxModelTemp;factory.setModelmodel//AutoCompleteDecorator.decoratefactory;AutoCompletion.enablefactory;在这里,我刚刚创建了一个项目,粘贴了您建议的自动完成代码,并将jar文件附加到我的项目中。