Политика переключения 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,

Другие вопросы по тегам