公司平台研发过程需要使用databinding数据绑定技术,就小小的总结了一下,希望能帮助有需要的朋友,废话少说,直接进入正题。
数据绑定技术,是用来解决模型和UI元素之间重复的赋值和取值的繁琐工作, 使用数据绑定,初始化的时候做一次绑定,之后无需在关心UI界面和模型的之间的赋值和取值的操作了。
绑定大致分为基本控件绑定:swt中的 Text ,combo,list , 代码如下:
首先创建一个模型类People,如下:
public class People {
List list = new ArrayList();
String name = "";
String address = "";
String sex = "";
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
其次在你的UI类中进行数据绑定,如下:
比如在你的UI类中,创建一个Text 控件,如下
Text nameText = new Text(parent,SWT.NONE);
Combo addressCombo = new Combo(com, SWT.READ_ONLY)
DataBindingContext bindingContext = new DataBindingContext();//创建一个数据绑定对象
People people = new People();//创建一个模型对象
//nameText控件和 People模型中的 name属性绑定
bindingContext.bindValue(SWTObservables.observeText(nameText,SWT.Modify),PojoObservables.observeValue(people, "name"));
//控件addressCombo和 模型 People中的 address属性绑定
bindingContext.bindValue(SWTObservables.observeSelection(addressText),PojoObservables.observeValue(people, "address"));