NimbusLookAndFeel 扩展了 SynthLookAndFeel 但它是否支持像 SynthLookAndFeel 那样从 xml 加载属性?
XML 设置格式是否相同?
NimbusLookAndFeel 扩展了 SynthLookAndFeel 但它是否支持像 SynthLookAndFeel 那样从 xml 加载属性?
XML 设置格式是否相同?
是的,但不能 100% 确定您会得到与按原样使用时相同的结果NimbusLookAndFeel
。您会skin.laf
在 JDK 源代码中找到一个文件,该文件本质上是 Nimbus 用来引导自身的 XML 文件。
但是,此文件不会在运行时读取,而是在构建 JDK 时读取,并从中生成一些源代码,这些源代码成为包私有类,NimbusLookAndFeel
然后使用。如果您浏览rt.jar
文件的内容,您可以看到这些生成的类。
据我了解,使用这种技术是因为它具有性能优势。这skin.laf
是一个非常大的 XML 文件,如果每次激活 Nimbus L&F 时都对其进行解析,那可能不会好。只是我的猜测。
我想说的是:Nimbus L&F 本身并不使用这些load()
方法。它有另一种自举方式。