2015-06-02 4 views
0

У меня вопрос, имеет ли этот кусок кода значение newPolicy для null, когда togglePolicy.isSelected()?Java toggle policy, FocusTraversalPolicy

if ("toggle".equals(e.getActionCommand())) { 
     frame.setFocusTraversalPolicy(togglePolicy.isSelected() ? 
       newPolicy : null); 
    } 
} 
+0

Нет, он не устанавливает 'newPolicy' ни для чего. Он устанавливает политику обхода фокуса рамки в 'newPolicy', если выбрано' togglePolicy', и 'null', если' togglePolicy' не выбран. – khelwood

ответ

1

Нет, он устанавливает рамки focusTraversalPolicy к null, когда isSelected() является false (если он не выбран). если isSelected() был true, он установил бы новую политику как политику обхода.

вы можете взглянуть на here

0

Я думаю, вы наткнулись на тройном оператора. Она работает следующим образом:

<condition> ? <result if true> : <result if false> 

В вашем случае, вы оцениваете togglePolicy.isSelected() первый. Если оценка возвращает true, чем вы установите политику на newPolicy. Кроме того, политика будет установлена ​​в null.