» 您尚未 登录   注册 | 社区服务 | FTP中心 | 帮助 | 社区 | 无图版 | 测试百科  | 测试Blog 
软件测试基地论坛 -> 测试开发技术 -> [转帖]JDT 核心 UI --- 几个Dialog
 XML   RSS 2.0   WAP 

--> 本页主题: [转帖]JDT 核心 UI --- 几个Dialog 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题
Fastpoint


该用户目前不在线
级别: 总版主
精华: 44
发帖: 5033
基地声望: 390 点
基地币: 1683 Bug
基地贡献: 0 点
好评度: 15 点
在线时间:818(小时)
注册时间:2005-10-08
最后登录:2008-07-22
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子

[转帖]JDT 核心 UI --- 几个Dialog

ContainerSelectionDialog
?  其实这个Dialog并不属于jdt.internal.ui,属于eclipse.core.resources中的内容,但是他们在使用的过程中方式很类似,我就一并归纳于此。
  ContainerSelectionDialog用来提供一个资源容器的选择对话框。资源容器概念源于Eclipse的Resource透视图,它是一个基本的通用视图集,用于管理项目以及查看和编辑项目中的文件。相信大家应该在切换Java透视图与Resource透视图的时候已经体会到Resource的含义。ContainerSelectionDialog就是用来选择这些文件的容器。
  以下是一段示例代码:
ContainerSelectionDialog dialog =new ContainerSelectionDialog(...);
 if (dialog.open() == ContainerSelectionDialog.OK) {
    Object[] result = dialog.getResult();
    String containerFullName = ((Path)result[0]).toOSString();
     createFile();
  }

  public void createFile(){
      这里可以完成在选择的容器内创建文件的操作,这不属于本贴的范畴,以后再说
  }

图片:



可不可不要这么样徘徊在目光内
你会察觉到我根本寂寞难耐
即使千多百个深夜曾在梦境内
我有吻过你这毕竟并没存在

人声车声开始消和逝
无声挣扎有个情感奴隶
是我多么的想她
但我偏偏只得无尽叹谓

其实每次见你我也着迷
无奈你我各有角色范围
就算在寂寞梦内超出好友关系
唯在暗里爱你暗里着迷
无谓要你惹上各种问题
共我道别吧别让空虚使我越轨
[楼 主] | Posted: 2006-02-09 12:52 顶端
Fastpoint


该用户目前不在线
级别: 总版主
精华: 44
发帖: 5033
基地声望: 390 点
基地币: 1683 Bug
基地贡献: 0 点
好评度: 15 点
在线时间:818(小时)
注册时间:2005-10-08
最后登录:2008-07-22
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



TypeSelectionDialog
    TypeSelectionDialog是JDT内核中的一个UI显示部件,是不鼓励使用的,不过我觉得很好用,拿来与大家分享,呵呵:)
    TypeSelectionDialog提供一个在给定的搜索域内搜索Java Type的选择对话框。比如我们在新建Class时选择Super Class时那样。选择后得到了一个或多个Eclipse平台提供的针对Java Type的对象:IType。
    所以在使用时,需要以下几步工作:
    1、利用SearchEngine创建搜索域
    2、指定搜索内容为Class还是Interface还是其它的什么
    3、创建Dialog:
  try{
        TypeSelectionDialog2 dialog = new TypeSelectionDialog2(...);
        dialog.setFilter(...);
        dialog.setTitle(...);
        dialog.setMessage(...);
       
        if (dialog.open() == IDialogConstants.CANCEL_ID)
          return;

        Object[] types= dialog.getResult();
        if (types == null || types.length == 0)
          return;
       
        IType type = (IType)types[0];
        IResource res = type.getResource();
    }catch(Exception e){
        ...
    }



图片:
 


可不可不要这么样徘徊在目光内
你会察觉到我根本寂寞难耐
即使千多百个深夜曾在梦境内
我有吻过你这毕竟并没存在

人声车声开始消和逝
无声挣扎有个情感奴隶
是我多么的想她
但我偏偏只得无尽叹谓

其实每次见你我也着迷
无奈你我各有角色范围
就算在寂寞梦内超出好友关系
唯在暗里爱你暗里着迷
无谓要你惹上各种问题
共我道别吧别让空虚使我越轨
[1 楼] | Posted: 2006-02-09 12:53 顶端
Fastpoint


该用户目前不在线
级别: 总版主
精华: 44
发帖: 5033
基地声望: 390 点
基地币: 1683 Bug
基地贡献: 0 点
好评度: 15 点
在线时间:818(小时)
注册时间:2005-10-08
最后登录:2008-07-22
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



ElementTreeSelectionDialog
   ElementTreeSelectionDialog不属于JDT内核UI,但是我们构造了合适的validator和filter之后,ElementTreeSelectionDialog就可以提供出一个选择Java源文件容器的对话框,在Eclipse JDT 的概念中,Java程序中的每一个Package叫做IPackageFragment,那么这个Java源文件容器叫做IPackageFragmentRoot。
   示例代码:
     ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(...);
     dialog.setValidator(validator);//校验所选中的是否是合法的
    dialog.setSorter(new JavaElementSorter());
     dialog.setTitle("Select Java Source Container");
     dialog.setMessage("Select one of java source containers from workspace.");
     dialog.addFilter(filter);//对于选择操作的过滤
     dialog.setInput(IJavaModel)//将工作区的Java模型传入
     dialog.setInitialSelection(fWorkspaceRoot.getProject());//初始选择
  ... ...

图片:



可不可不要这么样徘徊在目光内
你会察觉到我根本寂寞难耐
即使千多百个深夜曾在梦境内
我有吻过你这毕竟并没存在

人声车声开始消和逝
无声挣扎有个情感奴隶
是我多么的想她
但我偏偏只得无尽叹谓

其实每次见你我也着迷
无奈你我各有角色范围
就算在寂寞梦内超出好友关系
唯在暗里爱你暗里着迷
无谓要你惹上各种问题
共我道别吧别让空虚使我越轨
[2 楼] | Posted: 2006-02-09 12:53 顶端
Fastpoint


该用户目前不在线
级别: 总版主
精华: 44
发帖: 5033
基地声望: 390 点
基地币: 1683 Bug
基地贡献: 0 点
好评度: 15 点
在线时间:818(小时)
注册时间:2005-10-08
最后登录:2008-07-22
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子



ElementListSelectionDialog
  ElementListSelectionDialog也不是JDT核心UI,但是我们通过构造这个Dialog中的元素列表,让其提供出一个Java 程序中Package选择列表对话框。
  ElementListSelectionDialog dialog= new ElementListSelectionDialog(...));
  dialog.setIgnoreCase(false);
  dialog.setTitle("Select Packages From Java Project ");
  dialog.setMessage("Select packages from java project which you pre-selected.");
  dialog.setEmptyListMessage("There is no package in selected project.");
  dialog.setElements(packages);//列表中的元素



图片:


可不可不要这么样徘徊在目光内
你会察觉到我根本寂寞难耐
即使千多百个深夜曾在梦境内
我有吻过你这毕竟并没存在

人声车声开始消和逝
无声挣扎有个情感奴隶
是我多么的想她
但我偏偏只得无尽叹谓

其实每次见你我也着迷
无奈你我各有角色范围
就算在寂寞梦内超出好友关系
唯在暗里爱你暗里着迷
无谓要你惹上各种问题
共我道别吧别让空虚使我越轨
[3 楼] | Posted: 2006-02-09 12:54 顶端

软件测试基地论坛 -> 测试开发技术




软件测试基地上海测仕信息技术有限公司旗下网站
Copyright © 2005-2007 Cntesting.com, All Rights Reserved
沪ICP备06057721号

Powered by PHPWind Code © 2003-06 PHPWind
Total 0.144983(s) query 5, Time now is:11-24 03:48, Gzip disabled
You can contact us


每日一句:Loading...