«Тернарное выражение» x ? y : zможно использовать только для условного присвоения . То есть вы могли бы сделать что-то вроде:
String mood = inProfit() ? "happy" : "sad";
потому что тернарное выражение что-то возвращает ( Stringв этом примере типа).
На самом деле он не предназначен для использования в качестве короткого ряда if-else. В частности, вы не можете использовать его, если отдельные части не возвращают значение или возвращают значения несовместимых типов. (Таким образом, хотя вы могли бы сделать это, если оба метода вернули одно и то же значение, вы не должны вызывать его только для побочных эффектов).
Таким образом, правильный способ сделать это - использовать блок if-else:
if (jXPanel6.isVisible()) {
jXPanel6.setVisible(true);
}
else {
jXPanel6.setVisible(false);
}
который, конечно, можно сократить до
jXPanel6.setVisible(jXPanel6.isVisible());
Оба этих последних выражения для меня более читабельны, поскольку они более четко передают то, что вы пытаетесь сделать. (И, кстати, вы неправильно поняли свои условия? Похоже, что это все равно запретная операция, а не переключатель).
Не путайте небольшое количество символов с удобочитаемостью . Ключевым моментом является то, что легче всего понять; а легкое неправильное использование языковых функций - определенный способ запутать читателей или, по крайней мере, заставить их задуматься.