gpt4 book ai didi

java - 设置 Nimbus 外观和感觉 Java 教程 - 永远不会到达 catch block 来设置另一种外观和感觉

转载 作者:行者123 更新时间:2023-12-02 06:20:05 24 4
gpt4 key购买 nike

Java 教程提供了以下设置 Nimbus 外观的示例:The Java Tutorials - 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 block 中放置代码来设置另一种外观,理论上它应该永远不会执行,因为您仅在已安装的 LookAndFeel 上使用 .setLookAndFeel() 。如果 Nimbus 在系统上不可用,它将通过 ForEach 并退出 try-catch block ,而不会设置任何内容。

“如果 nimbus 不可用...”的代码不应该放在 ForEach 之后、catch 之前吗?在 catch block 中,您可能想要指定 JAVA 提供的 SystemLookAndFeel 或 DefaultLookAndFeel。

我对上面所述的 try-catch block 是否正确?我担心我遗漏了一些东西,因为这个示例代码已被多次引用,并且我已经看到提出了这个问题。

最佳答案

Nimbus 始终在类级别可用,因为它包含在 Java 1.5 之后的每个 JRE 中。

“不可用”的含义可能是由于反射机制中的任何问题导致系统无法加载对象。

无论如何,我认为您应该在 finally block 中设置其他外观。这样,即使在较低版本的 Java 中,您也可以加载替代方案。

关于java - 设置 Nimbus 外观和感觉 Java 教程 - 永远不会到达 catch block 来设置另一种外观和感觉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31101363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com