gpt4 book ai didi

java - WindowBuilder:在运行时更改语言

转载 作者:行者123 更新时间:2023-12-01 04:52:33 38 4
gpt4 key购买 nike

所以我有这个带有 WindowBuilder 的 Java 项目(带有 JInternalFrames 的 JDesktopPane),现在我要翻译整个程序。每次从 JDesktopPane 菜单打开 JInternalFrame 时,都会实例化一个新的 JInternalFrame。

任务:用户应该能够在运行时在各种语言之间切换(语言不能直接更改,重新打开 JInternalFrame 就足够了。现在我在每个 JInternalFrame 中使用 ResourceBundle:

private static ResourceBundle BUNDLE;

设置文本:

lblText = new JLabel(BUNDLE.getString("TestWindow.lblText.text")); //$NON-NLS-1$

为了在语言之间切换,我在 JDesktopPane 中有一个菜单,例如设置

language = "en";

创建新窗口后,JInternalFrame 获取对 MainWindow 的引用并读取此属性并将其设置在 JInternalFrame 中:

BUNDLE = ResourceBundle.getBundle("TestWindow.messages_"+ mainWindow.language); //$NON-NLS-1$

问题:WindowBuilder 干扰此设置

private static final ResourceBundle BUNDLE = ResourceBundle.getBundle("TestWindow.messages"); //$NON-NLS-1$

每次我在设计 View 中打开窗口时。此外,我在 WindowBuilder 的编辑器错误窗口中收到大量错误,这是因为编辑器无法解析 "TestWindow.messages_"+ mainWindow.language,这对我来说很清楚。

有没有更正确的方法来处理这个问题?我无法在 WindowBuilder 中找到正确的解决方案,因此我想出了这个 hacky 解决方案。

谢谢,王-阿尔

最佳答案

不会

Locale.setDefault(new Locale("en")); // Locale.ENGLISH

足够了吗?只需获取根包即可获得正确的语言环境包。

关于java - WindowBuilder:在运行时更改语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14729526/

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