В Руководстве по Java приводится следующий пример настройки внешнего вида Nimbus: Java Учебники - Nimbus Look and Feel
import javax.swing.UIManager.*;
try {
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (Exception e) {
// If Nimbus is not available, you can set the GUI to another look and feel.
}
Мне кажется, что проблема возникнет только в том случае, если UIManager.setLookAndFeel()
вызовет исключение. Если вы поместите код для установки другого внешнего вида в блок catch, он теоретически никогда не должен выполняться, поскольку вы используете .setLookAndFeel()
только на установленных LookAndFeel
s. Если Nimbus недоступен в системе, он провалится через ForEach и выйдет из блока try-catch, ничего не установив.
Разве код «Если нимб недоступен ...» должен идти после ForEach и до улова? В блоке catch вы можете указать SystemLookAndFeel или DefaultLookAndFeel, поставляемые с JAVA.
Правильно ли я говорю о блоке try-catch, как указано выше? Я обеспокоен тем, что что-то упустил, поскольку этот пример кода цитировался много раз, и я видел, как поднимался этот вопрос.