我需要在组合框中输入组织的简称。问题是我 可以 在下拉列表中看到组织名称,但实际上 无法 选择它。我的错误在哪里?
public class ToComboBoxModel extends AbstractListModel implements ComboBoxModel {
private String selectedItem;
private List<Organization> orgs;
public ToComboBoxModel(List orgs) {
this.orgs = orgs;
}
@Override
public String getSelectedItem() {
return selectedItem;
}
@Override
public void setSelectedItem(Object newValue) {
for (Organization o: orgs){
if (newValue==o){
selectedItem=o.getShortName();
break;
}
}
}
@Override
public int getSize() {
return orgs.size();
}
@Override
public String getElementAt(int i) {
return orgs.get(i).getShortName();
}
}
设定模式:
query =session.createQuery("from Organization where isMain = 0");
List orgs=query.list();
toComboBox.setModel(new ToComboBoxModel(orgs));
提前致谢!
我怀疑这是您的setSelectedItem()
方法使用==
而不是比较对象.equals()
考虑使用已经实现有用方法的DefaultComboBoxModel。
编辑 :同样根据文档,当调用ListDataListener
setSelected时,您应该调用所有注册的对象。
使用a
DefaultComboBoxModel
非常简单。创建一个新DefaultComboBoxModel
添加元素,使其包含在其中,然后调用getSelectedItem()
以检索当前选定的元素。
在我的swing应用程序中有两个组合框--在下面的代码中,您将看到Spring的元素,因为我也在使用Spring。我不能删除spring,否则应用程序将停止工作,没有大量的重构工作来取代spring的位置,所以请不要问这个。在应用程序的默认启动时,当进入带有组合框的对话框时,它们应该不会显示任何选择,如果您单击该框打开以显示选项,则只有一个选项(“Add...”)。 问题是单击“Add...”后,
好吧,这很难解释,但我会尽力的。 我在JTable中有一个JTextField和一个JComboBox,它的getCellEditor方法被覆盖如下: 以下是行为差异(请注意,从现在开始,当我说JTextField或JComboBox时,我指的是JTable中包含任一组件的单元格): > 当我使用tab键或箭头键导航到JTextField,然后开始键入时,我键入的字符会自动输入单元格。然而,当我以
包装问题; 导入java.util.List;导入java.util.LinkedList; 公共类SinglyListSize{int size=0; }
问题内容: 是否可以在JComboBox中定义与实际内容不同的值? 在HTML中,其外观如下: 无论内容多长时间,都可以在此处获得一个短值。 在Java中,我只知道以下解决方案: 但是在这里,我只会得到“ Cat”,“ Dog”等信息 。问题是,我要将客户的所有名称从数据库加载到JComboBox中,然后从所选客户中检索ID。它看起来应该像这样: 问题答案: 如果创建Customer类并将Cust
我试图从文本文件中提取某些单词,并将它们显示在JComboBox中。我试图使用SplitString()方法,但它似乎不起作用。 目前文本文件是这样的。 课程代码-课程描述-考官-主持人 我试图分裂它,所以JComboBox只会显示: 课程代码-课程描述 这是我正在使用的代码(请原谅混乱和缺乏最佳实践,我是新手,正在努力学习)。 如果您不想深入研究上述混乱情况,使用split方法的代码是: 组合框
我正在使用NetBeans IDE为我的一个项目中遇到的问题创建一个简单的测试(所以请原谅NetBeans的一些不必要的膨胀,但这其实并不太糟糕)。 我有一个JTable,它有一个单元格编辑器和一个可编辑的JComboBox(因此用户可以从列表中选择一个项目,或者在组合框中键入新文本)。 当用户退出组合框时,组合框的单元格编辑器将丢失键入其中的文本。 如何调整此代码,以便当我键入后离开组合框时,它