【发布时间】:2011-08-02 01:45:00
【问题描述】:
这是一个场景:
我有两个 JComboBoxes(称它们为 combo1 和 combo2 ),它们从数据库中获取它们的值[在数据库中,这两个具有 1:M 关系]。当屏幕出现时,我用数据库中的值填充combo1,然后获取列表中的第一个条目并获取其对应的值来填充combo2。
由于 combo2 的值取决于在 combo1 中选择的内容,每次在 combo1 中选择更改时,都会调用数据库以获取匹配值以填充 combo2。
现在有一个问题:
假设我在combo1 中有两个条目,而第二个条目没有combo2 的对应值。当我选择 combo1 的第二个条目时,combo2 上最后一个选择的值不会清除。 [记住combo2的模型是空的,因此不应该选择任何东西]
问题:如果模型为空,如何清除combo2中的文字?
这是一个示例代码:
public void select(final Entry entry) {
if (entry == null)
return;
int index = entryList.indexOf(entry); // instance of SelectionInList from JGoodies
boolean positive = index >= 0 && index <= entryList.getSize() - 1;
if (positive) {
entryList.setSelection(entry);
subEntryList.setList(entryList.loadSubEntries(entry.getID()));
if (!subEntryList.isEmpty()) {
SubEntry e = subEntryList.getElementAt(0);
select(e);
}
}
}
【问题讨论】:
标签: java swing jcombobox jgoodies