Posted on 2006-09-18 15:08
小小凉粉 阅读(717)
评论(0) 编辑 收藏
因为RCP的界面也是使用MVC模式的,于是想操作TableViewer、TreeViewer的时候,不应该直接对Viewer进行操作,而是应该操作viewer的input。修改以后,调用一下viewer.refresh()方法就可以了。
今天碰到的问题是,在一个widget中,使用
viewer.setInput(DisplayConst.publishingDevices.values());
可以顺利更新
而在另外一个widget中,使用
viewer.setInput(DisplayConst.locationTable.get(this.getUserName()));
就不能正常更新了。
测试了半天,又想了一下才明白,viewer.setInput以后,我们只能够修改input的内容,而不能修改input这个对象内存地址的值。就和方法调用在java中只能传值调用一样了。