最近,我通过“ CN1首选项”对话框从传统的CSS集成切换为使用当前的CSS支持方法。从那时起,我就反复遇到从本地化资源文件访问字符串的问题。
一些要点:
UIManager.getL10NResourceNames()
返回一个空数组任何帮助将不胜感激!
答案 0 :(得分:0)
CSS控制文件,因此您不能再通过其他方式更改theme.res文件。您需要保留一个单独的localization.res文件,并严格按照应用程序的本地化功能对其进行加载。您可以使用Resources.open("/localization.res")
加载任意资源文件。
答案 1 :(得分:0)
经过一番摸索,我找到了解决方案。事实证明,我的情况是我所做的一些非标准操作的结果。首先,我有一个theme.res
文件,我使用IntelliJ的Refactor >> Rename
函数对其进行了重命名,该函数将build.xml
文件中的硬编码的CSS主题名称重命名为我的新名称。我需要手动还原该字符串,以防止css编译任务覆盖主题文件。我注意到的第二件事是,有时(我不清楚是什么原因造成的)在本地运行应用程序时,主题文件没有在/out
目录中刷新。例如,当我在主题文件中添加图像时,这种情况就会显现出来,但是在运行代码时,它将无法在Resources
哈希表中找到它。每次发生这种情况时,我现在都知道只删除/out
的内容,从而迫使IDE重建/重新复制主题文件(我可以将其手动复制到/out
目录中,但是我认为删除它是最安全的。)