开发RCP的朋友们经常会使用到导航窗口,
先简单介绍一下wizardDialog,基本上他的使用方法是这样的
首先有一个WizardDialog,在dialog里面需要放一个Wizard来控制页面WizardPage之间的动作,
  • wizardDialog - 主要管理按钮,显示的描述信息,错误信息等基本窗口控件,
  • wizard - 主要控制页面,包括添加页面,页面之间的跳转等业务流程
  • wizardPage - wizard加入的page必须继承这个父类,主要是每一个页具体实现的内容
 
有时候,页面需要完成某一些页面逻辑才能跳转到下一页,如eclipse的更新功能
 
这个时候,就需要用到wizardDialog里面的一个方法,如下
 
public void run(boolean fork, boolean cancelable,
IRunnableWithProgress runnable) throws InvocationTargetException,
InterruptedException { }

这里有3个参数

  • fork - 在字面上的意思是,分叉的意思,在这里的含义是,是否使用另外一个线程完成执行任务,true为使用另外一个线程,false使用ui线程,ui线程在主线程,所以当使用ui线程的时候,所有动作将要暂停,等待任务完成了,才继续往前走
  • cancelable - 是否可以取消,这个参数只有使用另外一个线程的时候,才生效,意思就是说,当fork参数为true的时候,cancelable取消功能才生效。
  • IRunnableWithProcess runable - 则是今天的主题,任务接口,调用这个方法时,需要附上执行任务接口,需要重写run方法

这里需要注意的是,这个过程中会校验是否用户需要使用进度条,默认情况下,进度条会被隐藏,如果需要使用进度条,侧需要在Wizard中打开进度条的功能

setNeedsProgressMonitor(true);

最新文章

  1. 解决自定义Shiro.Realm扩展类不能用注解(@Resource或@Autowire)自动装配的问题
  2. 《C与指针》第十一章练习
  3. HDU 1535 Invitation Cards(最短路 spfa)
  4. 转载:C/C++源代码到可执行程序的过程详解
  5. POJ-1741 Tree (树上点分治)
  6. git创建分支并提交项目
  7. EasyUI-Tab 标签添加右键菜单
  8. 多边形背景生成工具推荐-Trianglify
  9. HW4.46
  10. Android.mk文件语法规范及使用模板
  11. github中的ssh配置
  12. Python 第十三篇之二:jQuery基础
  13. 15. 使用Apache Curator管理ZooKeeper
  14. WinXP系统下Opencms的安装与配置
  15. Linux -- 项目部署
  16. 论文笔记:Deep Residual Learning
  17. 【代码笔记】Web-ionic-index创建侧边栏
  18. Scala:Object-Oriented Meets Functional
  19. Android Things:撸起袖子来创建第一个Things工程
  20. java 23种设计模式学习。

热门文章

  1. Ajax2
  2. 第三十六章 metrics(4)- metrics-graphite
  3. css 单位-px、em、rem、百分比
  4. php数组函数
  5. sql sever 2008修改数据类型
  6. VB6.0 读取CSV文件
  7. [学习笔记] 七步从AngularJS菜鸟到专家(7):Routing [转]
  8. FreeBSD_11 - 系统管理——{ Part_5 - ZFS }
  9. three.js 之旅 (二)
  10. 数据模型类对比 反射c#