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

了解 Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能

 2009-12-14 00:00:00 来源:WEB开发网   
核心提示: 接下来,更改示例运行程序中的 run() 方法,了解 Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能(9),如清单 8 所示,清单 8. 重构的示例运行程序publicvoidrun(){...ContactPresentationModelpresentationMo

接下来,更改示例运行程序中的 run() 方法,如清单 8 所示。


清单 8. 重构的示例运行程序
public void run() { 
 
 ...  
 ContactPresentationModel presentationModel = \ 
 new ContactPresentationModel(contact); 
 ContactForm contactForm = new ContactForm(shell, presentationModel); 
 
 shell.pack(); 
 shell.open(); 
 while (!shell.isDisposed()) { 
 if (!display.readAndDispatch()) 
  display.sleep(); 
 } 
 display.dispose(); 
} 

更改 Presentation Model

现在已将代码分离为 UI、Presentation Model 和域模型层,您可以轻松地修改代码以满足更改要求。假定客户机需要更直观并且拥有如图 6 所示的带 Married 复选框的 UI,选中/取消选中此框将同时启用/禁用 Spouse 字段和 Years Married 字段。


图 6. 添加直观的复选框后的示例 UI
了解 Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能

由于要更改 Presentation Model 的功能,因此需要修改测试以验证实现内容。清单 9 显示了经过调整的测试方法。复选框将处理启用状态的更改,因此只需更改侦听程序中另一个逻辑来根据需要清空与两个婚姻状况相关的字段。


清单 9. 重构后的启用测试
public void testYearsMarriedEnablement() { 
  Contact contact = new Contact(); 
  ContactPresentationModel presentationModel = new ContactPresentationModel( 
      contact); 
 
  assertFalse(presentationModel.getEnableYearsMarried()); 
 
  presentationModel.setEnableYearsMarried(true); 
  presentationModel.getContact().setSpouse("spouse"); 
  presentationModel.getContact().setYearsMarried("5"); 
  presentationModel.setEnableYearsMarried(false); 
 
  assertNull(presentationModel.getContact().getSpouse()); 
  assertNull(presentationModel.getContact().getYearsMarried()); 
} 

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

Tags:了解 Eclipse JFace

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