WEB开发网
开发学院软件开发Java RCP客户端实现保存不同用户的界面状态 阅读

RCP客户端实现保存不同用户的界面状态

 2009-12-21 00:00:00 来源:WEB开发网   
核心提示:在一个多用户的系统中,每个用户都有自己的喜好例如,RCP客户端实现保存不同用户的界面状态,视图的位置、大小、以及显隐状态,都要对其进行保存,后果是当一个从来没有登录过系统的用户来说,第一次登录的时候,我们可以在工作台初始化的方法进行设置: Java代码@Overridepublicvoidinitialize(IWor

在一个多用户的系统中,每个用户都有自己的喜好例如,视图的位置、大小、以及显隐状态,都要对其进行保存,我们可以在工作台初始化的方法进行设置:

Java代码  

  @Override 
 public void initialize(IWorkbenchConfigurer configurer) 
 { 
 super.initialize(configurer); 
 configurer.setSaveAndRestore(true); 
 } 

但是保存的都是最后一个用户登录以后设置的界面,这样之前用户保存的状态就被覆盖了,

本来想研究一下Eclipse是如何获取到这些信息并且保存的,但是时间紧迫,急于实现效果,

所以出此下策,把自己的想法实践了一下,目的达到了,但是似乎有些山寨,拿来和大家分享一下吧,望请高手指教!

设计思路:

当Application的start方法运行的时候,这里是我们写登录的代码,在用户登成功,用户名便获取到,我们以用户名加上"_workbench.xml"作为该用户的配置文件名称,用一个File对象判断其是否存在,如果存在将它读入到内存中,然后不管默认的 workbench.xml是否存在都将其覆盖,ApplicationWorkbenchAdvisor被创建的时候,才会去加载用户的配置文件,用户的配置顺理成章的被工程所加载,说道这里前提是先保存用户的配置文件。

Java代码 

int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor()); 

这段代码是start方法中默认的一行代码,在中行代码结束时,也就是工程关闭时候,具体的说是workbench.xml文件已经被改写完毕的时候,我们将内容读取到内存中,根据当前登录的用户名加上"_workbench.xml"做为新的配置文件,将默认配置文件中的数据写入到该文件中进行保存,然后将默认的配置文件删除(如果不删除也可以,后果是当一个从来没有登录过系统的用户来说,第一次登录的时候,享用的是上一次用户配置的界面)。

1 2  下一页

Tags:RCP 客户端 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接