WEB开发网      婵犻潧鍊婚弲顐︽偟椤栨稓闄勯柦妯侯槸閻庤霉濠婂骸浜剧紒杈ㄥ笚閹峰懘鎮╅崹顐ゆ殸婵炴垶鎸撮崑鎾趁归悩鐑橆棄闁搞劌瀛╃粋宥夘敃閿濆柊锕傛煙鐎涙ê鐏f繝濠冨灴閹啴宕熼鍡╀紘婵炲濮惧Λ鍕叏閳哄懎绀夋繛鎴濈-楠炪垽鎮归崶褍妲婚柛銊ュ缁傚秹鏁撻敓锟� ---闂佹寧娲╅幏锟�
开发学院软件开发Java Eclipse 插件开发-如何扩展 WTP Wizard 阅读

Eclipse 插件开发-如何扩展 WTP Wizard

 2010-04-12 00:00:00 来源:WEB开发网 闂侀潧妫撮幏锟�闂佸憡鍨电换鎰版儍椤掑倵鍋撳☉娆嶄沪缂傚稄鎷�婵犫拃鍛粶闁靛洤娲ㄩ埀顒佺⊕閵囩偟绱為敓锟�闂侀潧妫撮幏锟�  闂佺ǹ绻楀▍鏇㈠极閻愬灚瀚梺鍨儏閳ь剙绉归弻銊р偓闈涙啞閻h京鈧敻鍋婇崰鏍х暦閿燂拷
核心提示: 清单 4. ProviderpublicclassSampleProjectCreationDataModelProviderextendsWebFacetProjectCreationDataModelProvider{publicstaticfinalStringPACKAGE="

清单 4. Provider

 public class SampleProjectCreationDataModelProvider extends 
  WebFacetProjectCreationDataModelProvider 
 {  
   public static final String PACKAGE = "MAIN_CLASS_PACKAGE"; 
   public static final String MAIN_CLASS_NAME = "MAIN_CLASS_NAME"; 
   public static final String DEFAULT_PACKAGE = "com.sample.app"; 
   public static final String DEFAULT_MAIN_CLASS_NAME = "NewsListSample"; 
   
 public Object getDefaultProperty(String propertyName) { 
  if (PACKAGE.equals(propertyName)) 
  return DEFAULT_PACKAGE; 
  if (MAIN_CLASS_NAME.equals(propertyName)) 
  return DEFAULT_MAIN_CLASS_NAME; 
  return super.getDefaultProperty(propertyName); 
 } 
 
 public Set getPropertyNames() { 
  Set propertyNames = super.getPropertyNames(); 
 
  propertyNames.add(PACKAGE); 
  propertyNames.add(MAIN_CLASS_NAME); 
  
  return propertyNames; 
 } 
 
 public IStatus validate(String propertyName) { 
  //do validate 
  return super.validate(propertyName); 
 } 
 public IDataModelOperation getDefaultOperation() { 
  return new SampleCreationOperation(getDataModel()); 
 } 
 } 

如前图所示,Page 中新增了两个字段 Main Class Package 和 Main Class Name,所以 Provider 继承 WebFacetProjectCreationDataModelProvider 之后重写 getPropertyNames 方法,加入上述字段。为了方便用户使用 wizard, 重写 Provider 中 getDefaultProperty 方法,为 Package 和 Class Name 提供默认值。Data Model Wizard 作为一套完善的 MVC 框架,实现了 Model 检验功能,当 UI 输入值发生改变时会触发 validate 方法,并将检验结果显示在 Wizard 的 Title 区域。

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

Tags:Eclipse 插件 开发

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