了解Eclipse中的JFace数据绑定,第3部分: 使用高级功能 - 编程入门网
}));
context.addObservableFactory(new SWTObservableFactory());
context.addObservableFactory(new ViewersObservableFactory());
context.addBindSupportFactory(
new DefaultBindSupportFactory());
context.addBindingFactory(new DefaultBindingFactory());
context.addBindingFactory(new ViewersBindingFactory());
return context;
}
}
了解Eclipse中的JFace数据绑定,第3部分: 使用高级功能(13)时间:2011-02-11 IBM Scott Delap类似于 ContactForm,TableForm 也创建一个 Presentation Model 并将其内容绑定到 UI 上。在本例中,小部件是一张表。bindGUI() 方法中的第一行将列表中的 Contact 对象从 Presentation Model 连接到表上。此处并没有使用绑定时提供的简单的 Property 对象,而是使用了 TableModelDescription 对象。此对象允许传递一个字符串数组以表示要将 Contact 对象的哪些属性绑定到表中的列上。方法中的第二个绑定行将把表中的选定值绑定到在 Presentation Model 中创建的 WritableValue 选项保存程序上。最后,注意类定义末尾的 createContext() 方法将把 ViewerObservableFactory 和 ViewersBindingFactory 添加到上下文中。没有这些工厂,上下文将不知道如何将数据与表绑定在一起。 这是一个很好的停止点来测试迄今为止的代码。用清单 21 中的代码修改示例运行程序。这段代码将创建一些示例联系人,并将这些信息传递给 Presentation Model,然后构建 TableForm。在运行程序上单击鼠标右键并以 SWT 应用程序来运行,将打开类似图 9 所示的窗口。 清单 21. 修改示例运行程序以尝试 TableForm
了解Eclipse中的JFace数据绑定,第3部分: 使用高级功能(14)时间:2011-02-11 IBM Scott Delap引入 indirection 最后还需要做的是将选项从表挂接到 ContactPresentationModel 上以供查看。维基百科将计算机编程中的 indirection 定义为 “使用名称、引用或容器而不是值本身进行引用的能力”。通过绑定到稍后将填入的占位符上,可以将此方法与 ContactForm 和 ContactPresentationModel 结合使用。将其重构,以便 Contact 变量现在就替换 IObservable value。根据成为 contactObservable 的需要更改变量和方法名称。更改后会导致出现一些编译错误。修正 enablementChangeListener 并用清单 22 中的代码进行测试。 清单 22. 将 TablePresentation 模型与 ContactPresentationModel 连接起来
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |