这是一个场景:
我有两个 JComboBoxes(称为 combo1 和 combo2 )从数据库中获取它们的值[在数据库中,这两个具有 1:M 关系]。当屏幕出现时,我用数据库中的值填充combo1,然后获取列表中的第一个条目并获取其对应的值来填充combo2。
由于 combo2 的值取决于在 combo1 中选择的内容,因此每次在 combo1 中选择更改时,都会调用数据库以获取匹配值以填充 combo2。
现在这里有一个问题:
假设我在 combo1 中有两个条目,第二个条目没有对应的 combo2 值。当我选择 combo1 的第二个条目时,combo2 上最后一个选择的值不会清除。[记住combo2的模型是空的,因此不应该选择任何东西]
Qeustion:如果模型为空,如何清除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);
}
}
}