このコンボボックスは、以前のコンボボックスで「SDO/OD」(データベースで10としてコード化されています)の選択に応じて有効または無効にします。次のコードを使用すると、ドロップダウンリストが表示されますが、すべての選択肢が表示されます。 「SDO/OD」を選択した場合にのみ、ドロップダウンが必要です。それ以外の場合は、コンボボックスを無効にしますが、データがレコードのnullを渡すようにします。私はリスナーを読んでいるとは思わない。私の質問はなぜこれが起こっているのですか?どのように私はそのようなタスクに対応するListernerを処理するには? JComboBoxためJava selectionコンボボックスのリスナーを変更します
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
私はあなたの質問を理解していない、
SELECTED/DESELECTED
イベントを発射しました。そのコンボボックスのユーザー選択に基づいてコンボボックスを有効/無効にしようとしていますか? – Dodd10x