Политика переключения Java, FocusTraversalPolicy
У меня есть вопрос, этот кусок кода устанавливает newPolicy в null, когда togglePolicy.isSelected()?
if ("toggle".equals(e.getActionCommand())) {
frame.setFocusTraversalPolicy(togglePolicy.isSelected() ?
newPolicy : null);
}
}
2 ответа
Нет, он устанавливает рамку focusTraversalPolicy в null
когда isSelected()
является false
(когда он не выбран). если isSelected()
было true
это установило бы newPolicy в качестве политики обхода.
Вы можете посмотреть здесь
Я полагаю, вы наткнулись на троичного оператора. Это работает следующим образом:
<condition> ? <result if true> : <result if false>
В вашем случае вы оцениваете togglePolicy.isSelected()
первый. Если оценка вернется true
чем вы устанавливаете политику newPolicy
, В противном случае политика будет установлена на null
,