快速业务通道

了解Eclipse中的JFace数据绑定,第2部分: 绑定的基础知识 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
           String.class,             true),         new BindSpec());      this.selectionHolder = new WritableValue(String.class);      ctx.bind(         new Property(             combo,             SWTProperties.SELECTION),             selectionHolder,             new BindSpec());      ctx.bind(comboSelectionLabel, selectionHolder, new BindSpec()); } private void createButtons(Shell shell) {      ...      gridData = new GridData();      gridData.horizontalAlignment = SWT.CENTER;      gridData.horizontalSpan = 2;      button = new Button(shell, SWT.PUSH);      button.setLayoutData(gridData);      button.setText("Add Name");      button.addSelectionListener(new SelectionAdapter() {         public void widgetSelected(SelectionEvent e) {             person.addName();      selectionHolder.setValue(   person.getAvailableNames().get(   person.getAvailableNames().size() - 1));         }      }); }

了解Eclipse中的JFace数据绑定,第2部分: 绑定的基础知识(13)

时间:2011-02-11 IBM Scott Delap

关于绑定组合框的第一点不同之处在于需要两个绑定。除了必须使用两个绑定来构成组合框外,这一点与先前示例中绑定文本小部件的 text 属性和 enabled 属性并不时完全不同。刚刚粘贴的代码将提供以下功能。

首先,创建一个组合框控件和一个标签。然后 Person Bean 中的可用名称列表被绑定到组合框控件上。由于此控件配有控件所含有的项列表及选项的属性,因此没有逻辑默认值可供 JFace 数据绑定提取以创建 observable —— 与先前的文本小部件不同(如果不指定显式属性,则文本小部件的默认值为 "text")。因此,在绑定组合框时,必须显式指定属性。在使用第一个新绑定行的情况下,SWTProperties.ITEM 用来表示需要绑定可用项的列表。绑定列表时,Property 对象有一对附加参数。该对象的构造程序中的第三个参数将告诉绑定上下文在集合中找到了哪些类型的对象(第 2 部分将告诉您关于这一点为何重要的更多信息)。Property 构造程序中的第四个参数用于表示这是一个值的集合而不是作为对象的一个列表。

JFace 数据绑定要求为组合框的选项使用占位符。这个占位符可以为引用不在控件本身里的选项提供外部位置。这可以是 JavaBean 中的显式 getter/setter 属性,但通常是用于 UI(如本例)的一个单独的 holder。其结果是,创建了 WritableValue 实例,该实例用于实现 IObservableValue 以用作 holder。然后可以使用下一行中的 SWTProperties.SELECTION 常量将其绑定到组合框的 selection 属性。最后,为了向用户展示选项的绑定正在运行,同一个 WritableValue 实例也被绑定到标签上,该标签将随选项更改而更改。

对示例的另一处更改是添加了 Add Name 按钮。此按钮的选择侦听程序将调用 Person Bean 上的 addName() 方法,该方法将把当前的名称添加到可用名称列表中。然后将把新添加的值设为选项 holder 中的选项值。

运行示例将显示一个类似图 12 所示的窗口。从组合框中选择一个名称,标签将更改,因为标签被绑定到同一个选项 holder。接下来,在 First 和 Last 文本小部件中输入名称,然后单击 Add Name。系统将把该名称添加到组合框中,选中该名称,然后将其显示在标签中。

图 12. 修改后现在包括组合框的

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号