变化的语言,所以我有这样的WindowBuilder Java项目(与JDesktopPane的JInternalFrames),现在我对整个程序进行翻译。每次从JDesktopPane菜单打开JInternalFrame时,都会创建一个新的JInternalFrame。的WindowBuilder:在运行时
任务:用户应该能够在运行时在各种语言之间切换(语言不能直接更改,重新打开JInternalFrame就足够了,现在我在每个JInternalFrame中使用ResourceBundle:
private static ResourceBundle BUNDLE;
的设置与文本:
lblText = new JLabel(BUNDLE.getString("TestWindow.lblText.text")); //$NON-NLS-1$
为了将语言之间切换,我在一个JDesktopPane的菜单,它设定例如
language = "en";
在创建一个新的窗口,JInternalFrame的获取到主窗口的引用,并读取该属性,并将其设置在JInternalFrame的:
BUNDLE = ResourceBundle.getBundle("TestWindow.messages_"+ mainWindow.language); //$NON-NLS-1$
问题:的WindowBuilder干扰这一点,并设置
private static final ResourceBundle BUNDLE = ResourceBundle.getBundle("TestWindow.messages"); //$NON-NLS-1$
每次我在设计视图中打开“窗口”时都会出现
。此外,我得到很多的错误中的WindowBuilder的编辑错误窗口,是因为编辑器无法解析"TestWindow.messages_"+ mainWindow.language
,这我很清楚。
有没有办法以更正确的方式处理这个问题?我无法在WindowBuilder中找到正确的东西,所以我想出了这个hacky解决方案。
谢谢, 王-人
请阅读[甲骨文教程](http://docs.oracle.com/javase/tutorial/i18n/index.html),码[实例是这里](http://www.java2s.com/Tutorial /Java/0220__I18N/Catalog0220__I18N.htm) – mKorbel
谢谢。很有用。 –