经过一段时间享受这个网站的帮助,我在这里整合自己的时间到了!
好吧,我正在使用java(在Windows 7下)启动个人项目,并且我开始使用SWT。经过几个小时的搜索,我对我到达的简短信息不满意。
该项目是一个应用程序,我将有一个主窗口,用户可以从中访问不同的模块(客户管理,产品管理......)。
我想要的是正确设置:
A)I18n语言 B)用户偏好
"妥"意味着从程序的所有组件到该数据的良好,适当和容易的访问,以便使用它,并考虑通过最标准的"方式也是。
我已经创建了一个名为" LanguagueResources"的包,其中我有MessageBundle_xx_XX.properties,我在MainMenu类上定义了以下属性
protected String languague="en";
protected String country="UK";
protected Locale currentLocale=new Locale(languague, country);
protected ResourceBundle
messages=ResourceBundle.getBundle("MessageBundle",currentLocale);
有了这个,我的主菜单适用于不同的语言。但是当我打开一个新窗口时会发生什么?也许我可以再次声明它(重复代码太多),或者我可以在调用新窗口实例时传递一些数据(这看起来不太时尚)。与其他可能的首选项设置相同。
这也让我想知道我必须如何构建程序结构。我的意思是,从SWT应用程序窗口(主菜单)开始是正确的,并从那里调用其他SWT应用程序窗口,这将是不同的模块(客户) ,产品)?也许我必须建立一个独立的Main类,我将在其中调用MainMenu类,并在哪里定义语言资源和首选项资源?
另外,我想知道是否必须像语言一样保存用户首选项(.properties文件)
我想我可以通过多种方式做到这一点,但我想知道哪种方法是推荐的,标准化的,最简单的方法。
我希望我解释得很好。谢谢你!