组合框的swing Java selectionChange侦听器
我有一个组合框,我想根据前面组合框中选择的“SDO/OD”(在数据库中编码为10)启用或禁用它。当我使用下面的代码时,它会给我一个下拉列表,但是对于每个选项。我只想在选择“SDO/OD”时使用下拉列表。否则,禁用组合框,但允许数据传递记录的null。我不认为这是在阅读听众。我的问题是为什么会这样?如何处理侦听器以适应这样的任务
fcbRole.addSelectionChangedListener(new SelectionChangedListener<ModelData>()
{
@Override
public void selectionChanged(SelectionChangedEvent<ModelData> se)
{
fcbOfficeRegion.clearSelections();
fcbOfficeRegion.getStore().clearFilters();
if(fcbRole.getValue().equals("SDO/OD") && se.getSelectedItem() != null)
{
fcbOfficeRegion.enable();
fcbOfficeRegion.setValueField(se.getSelectedItem().get("strValue").toString());
StoreFilter<ModelData> sfRole = new StoreFilter<ModelData>()
{
@Override
public boolean select(Store<ModelData> store,
ModelData parent, ModelData item,
String property) {
String name = item.get("filterDepts");
name = getScc().cleanString(name.toLowerCase());
if (name.contains("(" + fcbRole.getValue().get("strValue") + ")"))
{
return true;
}
return false;
}
};
fcbOfficeRegion.getStore().addFilter(sfRole);
fcbOfficeRegion.getStore().applyFilters("fcbOfficeRegion");
}
else
# 1 楼答案
对于{a2},最好的{a1}是{a3},这个{}触发事件{},总是两次