- 浏览: 142681 次
- 性别:
文章分类
最新评论
-
yjp:
效果丢失了,也好不了多少
SWT中使用JFreeChart(无需SWT_AWT) -
vfbrhvfbgd:
LZ,您好,
在网上找到了很多类似你这样的代码,请问您这 ...
一个使用SWT Ribbon代替Eclipse-RCP上面Coolbar的例子~ -
sdyjmc:
我也在看,发现Search不起作用。msn:sdyjmc@16 ...
读jlibrary代码的部分疑问,希望有人解答~ -
alaham:
jlibray研究得如何了呢?权限问题解决了吗?
我目前也正 ...
读jlibrary代码的部分疑问,希望有人解答~ -
bbiao:
你把代码抄错了,范型是不可以这么定义的....
这种模式我也 ...
从Hibernate范型DAO设计打造的自用DAO
JFace进度条使用经验一则
我讨论的进度条主要是JFace的进度条,RCP已经提供了完善的Job组件,为什么还要用JFace的进度条呢?原因是我要在登陆界面上做进度处理,也就是使用Eclipse3.3提供的AbstractSplashHandler特性,可以将原有的启动画面替换成为一个登陆界面,启动这个登陆界面时,Eclipse的Platform此时还没有启动,所以不能使用RCP本身的Job组件了。
由于是一个检测服务器是否联通的测试,所以并不知道测试的真实时间,所以就是要使用“傻瓜进度条”了,也就是反复走的进度条陈刚的代码如下:
button.addSelectionListener(new SelectionAdapter() { private void go() { public void widgetSelected(SelectionEvent e) { private void showProgressDialog() { |
主要是使用两个线程交替使用,第一个线程处理业务,第二个线程监控第一个线程查看它是否结束,如果结束或者被点击cancele则停止进度条的进程,如果一直没有关闭的指令,则反复开始---累加---结束---开始---累加---结束。
我们几乎是把陈刚的代码原原本本的抄袭了一下,仅仅是替换了go()中的内容,但是发现一个问题
new ProgressMonitorDialog(s).run(true, true, runnable);
使用此句的话,JFace的线程永远不会启动;
替换为
new ProgressMonitorDialog(s).run(false, true, runnable);
使用此句的话,JFace的线程可以启动,运行正常,但是cancele不能响应,UI界面完全卡死!
第一个参数的名字fork~乍看去,什么意思都没有,但是看看API才发现内藏很大的玄机,如果为true则此线程为一个非UI线程,大家知道非UI线程是不会阻塞UI的;如果为false则此线程为一个UI线程,大家也知道UI线程如果使用不当很容易阻塞UI的。
关键的问题是我们和陈刚的代码几乎一摸一样他的进度条就启动,我的进度条就不启动!为什么?(这点至今不明白!)
详查API发现如果fork为false的时候还是另有洞天的:
This implementation of IRunnableContext#run(boolean, boolean, IRunnableWithProgress) runs the given |
API中说的很明白,如果fork为false时需要在线程中调用Display.readAndDispatch()方法,以避免UI被阻塞!
大家如果在JFace的开发中如果使用了进度条,发现UI被阻塞的话,就想想我哦!!!呵呵只用在进程中调用一下Display.readAndDispatch()就解决了!
发表评论
-
来自网络上的经典文章收藏帖(不断增加中... ...)
2007-05-15 09:14 969教你如何使用JFace创建Wizards Creating J ... -
RCP程序怎样实现自适应分辩率最大化(增加版)
2007-05-15 14:02 1268交口称赞在BLOG中提到了一种让RCP最大化的方法: 在App ... -
如何在ViewPart上添加ViewToolBar
2007-05-15 17:58 3745ViewToolBar其实就是Actions。在ViewPar ... -
郁闷的Perspective
2007-05-15 18:11 888下午正式开始RCP开发,于是乎轻车熟路的开始打基础框架。 ... -
读jlibrary代码的部分疑问,希望有人解答~
2007-05-18 10:30 1273昨天在Bolg中贴出来一个很不错的RCP项目http://jl ... -
简单应用Maven2
2007-05-18 13:54 838Maven2对项目的管理确实可以说是无微不至的,而且给出了大量 ... -
介绍一个好站
2007-05-20 10:42 756http://www.krugle.com/代码搜索工具,使用 ... -
Eclipse3.3m7 VS Eclipse3.2.2
2007-05-22 08:37 1011Eclipse3.3m7 VS Eclipse3.2.2没有深 ... -
西安java用户群成立~_~
2007-05-23 15:58 757西安java用户群,感谢dudu,为我们开通团队,所有西安ja ... -
RCP的异常
2007-05-25 12:53 799上次的一篇文章问到为什么TreeViewer没有刷新, ... -
正在规划一个Eclipse上看RSS的Plugin
2007-06-04 08:50 911目前正在规划阶段,初步想法是,实现一个周博通的EclipseP ... -
初识DB4O
2007-06-10 11:15 716DB4O? 新出的OODBMS~取谐音DB fo ... -
如何用WebStart部署RCP应用程序?
2007-06-11 17:19 836上传一份同事写的预研文档:WebStartToRCP.doc ... -
RCP开发者的好去处之ICON系列(持续更新中... ...)
2007-06-11 20:49 835为了找个合适的图片是不是头大的不像样子了?OK,我现在 ... -
庆祝一下~RCP开发者的福音到了!
2007-06-14 22:04 788今天在Eclipse站上学习如何使用Maven2管理Eclip ... -
再次理解Eclipse的类加载机制
2007-06-18 15:13 1024今天在写RCP的基础运行插件的时候,发现一个非常有意思的问题: ... -
插件开发依赖其他插件时一定要注意!
2007-06-19 14:18 2122插件开发依赖其他插件时,我们要在plugin.xml的depe ... -
RCP实践之软件架构
2007-06-19 21:22 647RCP还是新兴的东西,大家都是用它做做小东东,所以在网 ... -
RCP实践之第三方JAR包
2007-06-20 21:43 3142感谢大家对上一篇文章的拍砖,引起的反响不小,目的达到了 ... -
RCP实践之安全模型
2007-06-21 21:52 1015感谢大家最近对本 ...
相关推荐
对SWT/Jface的进度条(ProgressMonitorDialog)进行封装,使下载文件更方便调用. DownloadProgressBar 是单个文件下载类 MultiDownloadProgressBar 是多个文件下载类 Test开头的类是测试类 支持下载完毕后自动关闭流,...
SWT和Jface开发使用必使用jar包之:equinox包,配合其他jar包一起使用
SWT和Jface开发使用必使用jar包之:commands包,配合其他jar包一起使用
SWT和Jface开发使用必使用jar包之:jface核心jar包,配置其他使用
讲解如何使用jface工具箱.
JFace教程 网盘
《Eclipse SWT/Jface核心应用》...第2篇介绍了SWT基本控件的使用,以及事件处理、布局等SWT基本知识的应用。第3篇介绍了关于SWT的高级应用。第4篇介绍了JFace框架的知识及其应用。第5篇介绍了最新的RCP应用程序的开发。
jface programing
swt/Jface用到的最基本的jar包
JFace是建立在SWT之上的UI部件,是Eclipse组织为了开发Eclipse IDE...JFace在其API和实现方面都是独立于窗口系统的,它在窗口小部件系统上运行,即JFace旨在使用SWT而不隐藏它。本资源包含了JFace 和 SWT所需的所有类库
使用swt jface图形界面技术需要用到的jar文件。Swt,jface是一款非常优秀的javaUI库
Eclipse SWT_JFace开发实战精解
快速学习swt jface eclipse 开发
14.2 第一个JFace程序 285 14.3 JFace框架概述 287 14.4 JFace的包结构 287 14.5 本章小结 289 第15章 应用程序窗口 290 15.1 JFace的窗口类(Window类) 290 15.2 应用程序窗口ApplicationWindow类 292...
SWT/JFace开发实例
SWT JFACE 编程笔记 , 比较适合刚 解除 java swt jface 的开发人员
SWT Jface知识点,Eclipse SWT/JFace核心应用
swt jface jar swt jface jar swt jface jar
eclipse swt/jface 核心应用 part 1
里面主要介绍了一个用jface实现向导的例子