快速业务通道

使用Eclipse RCP进行桌面程序开发(三):视图和****图 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
remove(Person p); 11  } 12 13  private Listener listener; 14 15  public PersonModel(){ 16    //向list里面填入几个初始化数据 17    Person p1 = new Person(); 18    p1.setName("病人1"); 19    p1.setSex("男"); 20    list.add(p1); 21 22    Person p2 = new Person(); 23    p2.setName("病人2"); 24    p2.setSex("女"); 25    list.add(p2); 26     27  } 28 29  public void setListener(Listener listener){ 30    this.listener = listener; 31  } 32 33  public void add(Person p){ 34    list.add(p); 35    if(listener != null){ 36      listener.add(p); 37    } 38  } 39 40  public void remove(Person p){ 41    list.remove(p); 42    if(listener != null){ 43      listener.remove(p); 44    } 45  } 46   47  public ArrayList elements(){ 48    return list; 49  } 50}

使用Eclipse RCP进行桌面程序开发(三):视图和****图(7)

时间:2011-04-13 海边沫沫

在这里,我们还定义了一个Listener接口,为什么要有这么一个接口呢?就是为了让我们 模型中的数据被改变时,查看器能够相应更改。下面,我们实现内容提供器,该内容提供器 实现了PersonModel中定义的Listener接口,如下PersonContentProvider.java:

1package cn.blogjava.youxia.views; 2 3import org.eclipse.jface.viewers.IStructuredContentProvider; 4import org.eclipse.jface.viewers.Viewer; 5import org.eclipse.jface.viewers.ListViewer; 6 7import cn.blogjava.youxia.views.PersonModel.Listener; 8 9public class PersonContentProvider implements IStructuredContentProvider, 10    Listener { 11 12  PersonModel input; 13  ListViewer viewer; 14 15  public Object[] getElements(Object inputElement) { 16    // TODO 自动生成方法存根 17    return input.elements().toArray(); 18  } 19 20  public void dispose() { 21    // TODO 自动生成方法存根 22    if(input != null){ 23      input.setListener(null); 24    } 25    input = null; 26 27  } 28 29  public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { 30    // TODO 自动生成方法存根 31    viewer = (ListViewer)viewer; 32    input = (PersonModel)newInput; 33    input.setListener(this); 34 35  } 36 37  public void add(Person p) { 38    // TODO 自动生成方法存根 39    viewer.add(p); 40  } 41 42  public void remove(Person p) { 43    // TODO 自动生成方法存根 44    viewer.remove(p); 45  } 46 47}

使用Eclipse RCP进行桌面程序开发(三):视图和****图(8)

时间:2011-04-13 海边沫沫

我们知道,列表中的元素都是Person类的对象,怎么让他们显示出来呢,需要实现标签提 供器,在标签提供器中,我们可以设置对象显示的图标和文字,如下 PersonLabelProvider.java:

1package cn.blogjava.youxia.views; 2 3import org.eclipse.jface.viewers.ILabelProvider; 4import org.eclipse.jface.viewers.ILabelProviderListener; 5import org.eclipse.swt.graphics.Image; 6 7public class PersonLabelProvider implements ILabelProvider { 8 9  public Image getImage(Object element) { 10    return nul

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号