WEB开发网
开发学院软件开发Java 了解 Eclipse 中的 JFace 数据绑定,第 2 部分: 绑... 阅读

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

 2009-12-14 00:00:00 来源:WEB开发网   
核心提示: 如何变魔术:Observable 工厂粘贴到 BindingExample 类中的 createContext() 方法包含用于执行此适配过程的 API,JFace 数据绑定将让 observable 工厂系列的用户尝试将对象与查询到的 observable 匹配起来,了解 Eclipse 中的

如何变魔术:Observable 工厂

粘贴到 BindingExample 类中的 createContext() 方法包含用于执行此适配过程的 API。JFace 数据绑定将让 observable 工厂系列的用户尝试将对象与查询到的 observable 匹配起来。如果工厂不匹配对象,则返回 null,然后数据绑定上下文将尝试列表中的下一个工厂。如果配置正确并且支持该对象类型,则返回一个适当的 observable。清单 5 显示了 SWTObservableFactory 中的一段代码,这段代码用于为许多常见的 SWT 控件生成 observable。

这段代码的 if 块中涉及的第一个问题是文本小部件。更新策略属性将确定 TextObservableValuec 是在发生更改(按下按键)时还是在焦点消失时提交更改。请注意,SWTObservableFactory 还支持其他常见的 SWT 小部件,例如标签、组合框、列表等。


清单 5. 构建 TextObservable 的工厂代码
if (description instanceof Text) { 
 int updatePolicy = new int[] { 
 SWT.Modify, 
 SWT.FocusOut, 
 SWT.None }[updateTime]; 
 return new TextObservableValue\ 
 ((Text) description, updatePolicy); 
} else if (description instanceof Button) { 
 // int updatePolicy = new int[] { 
 SWT.Modify, 
 SWT.FocusOut, 
 SWT.None }[updateTime]; 
 return new ButtonObservableValue((Button) description); 
} else if (description instanceof Label) { 
 return new LabelObservableValue((Label) description); 
} else if (description instanceof Combo) { 
 return new ComboObservableList((Combo) description); 
} else if (description instanceof Spinner) { 
 return new SpinnerObservableValue((Spinner) description, 
  SWTProperties.SELECTION); 
} else if (description instanceof CCombo) { 
 return new CComboObservableList((CCombo) description); 
} else if (description instanceof List) { 
 return new ListObservableList((List) description); 
} 

上一页  4 5 6 7 8 9 10  下一页

Tags:了解 Eclipse JFace

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