Java教程给出了以下设置Nimbus外观的示例:Java教程 - Nimbus外观
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。
如果在catch块中放置设置另一个外观的代码,则理论上永远不会执行,因为您仅在已安装的外观中使用.setLookAndFeel()
。
如果系统上没有Nimbus,则它将通过ForEach并从try-catch块中退出,而不会设置任何内容。“如果Nimbus不可用...” 的代码是否应该放在 ForEach之后,catch之前呢? 在catch块中,您可能需要指定JAVA提供的SystemLookAndFeel或DefaultLookAndFeel。
我对上述try-catch块的理解正确吗?我很担心我可能会漏掉什么,因为这个示例代码已经被引用了很多次,我也看到了这个问题被提出。