2015-04-04 4 views
0

Я изучил тему ComboBox сегодня, но я не понял этого, если statment в коде. Как это происходит, если состояния работают. Просто объясните это.ComboBox в java if statment

class ItemChangeListener implements ItemListener{ 
@Override 
public void itemStateChanged(ItemEvent event) { 
    if (event.getStateChange() == ItemEvent.SELECTED) { 
     Object item = event.getItem(); 
     // do something with object 
    } 
}  

}

+0

Есть несколько itemState изменения, вот что такой, если команда отфильтровывает (чем SELECTED.): ​​Вы только уход о выборе поля со списком. Для такого события фактическим выбранным элементом является 'event.getItem()'. – eckes

ответ

0

itemStateChanged метод будет вызываться каждый раз, когда состояние элемента в поле со списком изменений.

Оператор if, if (event.getStateChange() == ItemEvent.SELECTED) { проверяет, что именно изменилось. Он проверяет, было ли изменение, что элемент был выбран.

Затем, в блоке оператора if, как только код определил, что элемент действительно выбран, код продолжает определять, какой элемент был выбран.

Этот код демонстрирует, как ваш выбор может быть изменен в поле со списком, и ожидается, что ваш пользовательский код сделает что-то более актуальное для вашего приложения, когда элемент будет выбран.

1

При изменении выбора в качестве ComboBox, itemStateChanged обжигают дважды: первый раз для элемента, который получает выключенный (event.getStateChange() == ItemEvent.DESELECTED), второй раз для элемента, который получает выбранный (event.getStateChange() == ItemEvent.SELECTED).

Иными словами, if необходим, чтобы проверить, является ли текущий номер item.

0

Он делает (только) что-то с предметом, если ItemEvent «Состояние события изменения» равно (==) ItemEvent.SELECTED. Так по-человечески говоря, и перевернутый: Он ничего не делает на все другие состояниях событий

Надеется, что это помогает, Cheers,