2012-02-07 4 views
1

У меня есть это поле со списком, которое я хотел бы включить или отключить в зависимости от выбора «SDO/OD» (закодировано как 10 в базе данных) в предыдущем поле со списком. Когда я использую следующий код, он дает мне выпадающий список, но для каждого выбора. Я хочу, чтобы выпадало только тогда, когда выбрано «SDO/OD». В противном случае отключите поле со списком, но разрешите данным передавать нуль для записи. Я не думаю, что он читает слушателя. Мой вопрос, почему это происходит? Как мне обращаться с Listerner для решения такой задачи?Выбор JavaChange Listener для поля со списком

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 
+0

Я не понимаю вашего вопроса. Вы пытаетесь включить/отключить поле со списком на основе пользовательского выбора этого комбинированного блока? – Dodd10x

ответ

3

Лучшее Listeners для JComboBoxItemListener является, это Listener уволил событий SELECTED/DESELECTED, всегда дважды

+0

Как это будет выглядеть? Я не думаю, что код, с которым я работаю, имеет тип JComboBox. Когда я добавляю предложение, он возвращает ошибку, когда я заменяю Listener. –

+0

например http://stackoverflow.com/a/8731035/714968 – mKorbel

+0

Спасибо, ItemListener действительно лучший – shift66

Смежные вопросы