[发明专利]一种基于不同开发工具的图形用户界面的界面刷新方法无效
申请号: | 201010273717.5 | 申请日: | 2010-09-06 |
公开(公告)号: | CN102385510A | 公开(公告)日: | 2012-03-21 |
发明(设计)人: | 钱靖 | 申请(专利权)人: | 上海可鲁系统软件有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201204 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 不同 开发 工具 图形 用户界面 界面 刷新 方法 | ||
技术领域
本发明涉及一种图形用户界面处理技术,尤其涉及一种集成多种开发工具的图形用户界面的刷新技术。
背景技术
由于使用JAVA开发图形用户界面的多样性、及组态软件的开发策略深入人心,多个使用不同开发工具、不同应用程序编程接口(Application ProgrammingInterface,简称“API”)的功能快集成到一个应用系统的例子比比皆是。这对缩短开发周期及减少重复开发带来很多益处。
比如采用JAVA进行图形用户界面(Graphical User Interface,简称“GUI”)的制作时,可以使用图形开发包Swing和GUI标准控件开发工具SWT(StandardWidget Toolkit)分别开发部分界面功能,然后将两种开发工具开发的界面功能集成在一起,可以将Swing开发的界面功能模块集成到SWT开发的用户界面程序中,或者反之将SWT开发的界面功能模块集成到Swing开发的用户界面程序中。
本发明的发明人发现,Swing和SWT技术互相集成的图形用户界面,经常会碰到界面刷新延后问题。
Swing和SWT技术的界面刷新方法均是在不影响主线程的情况下,另开一个界面刷新线程,通过这个界面刷新线程对数据进行提取并显示,使主线程能继续执行下一步的指令,确保整个程序运行的平稳。
在将Swing开发的图形界面嵌入SWT的程序中时,现有技术一般在SWT程序中直接采用上述生成线程的方式进行界面刷新,即由SWT中的主线程发出界面刷新指令,创建一个SWT界面刷新线程,由该线程直接刷新SWT的界面功能模块,并在该线程中发出刷新相关Swing界面功能模块的指令,Swing的界面刷新动作放在Swing的主线程中执行,该交互执行过程容易产生死锁和线程长期等待,体现在用户界面则是刷新不及时和严重滞后,甚至带来程序崩溃的后果。
比如图形用户界面中的窗口控件是使用Swing制作的,窗口中的表格是使用SWT制作的。在表格内容需要进行刷新时,需要同时刷新窗口控件和表格。由SWT中的主线程发出刷新指令,创建刷新线程,在Swing的主线程中执行界面刷新,容易产生死锁和线程长期等待。
发明内容
本发明主要解决的技术问题是提供一种基于不同开发工具的图形用户界面的界面刷新方法,防止基于不同开发工具的图形用户界面出现刷新不及时、严重滞后,甚至程序崩溃的情况。
为了解决上述技术问题,本发明提供了一种基于不同开发工具的图形用户界面的界面刷新方法,该图形用户界面集成了基于第一开发工具的图形控件和基于第二开发工具的图形控件,包含以下步骤:
在需要刷新所述基于第一开发工具的图形控件时,创建基于所述第一开发工具的第一界面刷新线程;
在所述第一界面刷新线程中刷新该基于第一开发工具的图形控件,并发出调用第二界面刷新线程的指令,该第二界面刷新线程用于刷新所述基于第二开发工具的图形控件;
创建所述基于第二开发工具的第二界面刷新线程,由所述第二界面刷新线程刷新所述基于第二开发工具的图形控件,完成所述图形用户界面的刷新。
作为上述技术方案的改进,所述第一开发工具为SWT,所述第二开发工具为Swing;或者
所述第一开发工具为Swing,所述第二开发工具为SWT。
作为上述技术方案的改进,所述第一界面刷新线程为同步线程或异步线程,按照所述第一开发工具的规则同步或异步执行所述刷新操作;
所述第二界面刷新线程为同步线程或异步线程,按照所述第二开发工具的规则同步或异步执行所述刷新操作。
本发明实施方式与现有技术相比,主要区别及其效果在于:本实施方式中,在刷新基于第一开发工具的图形控件过程中需要同步刷新基于第二开发工具的图形控件时,采用第一开发工具创建一界面刷新线程,在线程中刷新基于第一开发工具的图形控件,并且发出调用第二界面刷新线程的指令(该第二界面刷新线程用于刷新该基于第二开发工具的图形控件),由第二开发工具创建第二界面刷新线程,完成基于第二开发工具的图形控件的刷新操作。由于第一开发工具和第二开发工具分别创建自己的线程,按照自己的规则和方式来实现对应本开发工具的图形控件的刷新,而不是直接由一个开发工具下发刷新指令,由另一个开发工具根据对方的规则执行界面刷新指令,完成界面刷新操作,因此不会出现程序执行逻辑上的冲突,从而可以有效避免两种开发工具集成的图形用户界面中线程死锁和线程长期等待的情况,即有效避免用户界面出现刷新不及时、严重滞后,甚至程序崩溃的情况。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海可鲁系统软件有限公司,未经上海可鲁系统软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010273717.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:异型直角阳光板
- 下一篇:粉末冶金起动链轮、齿轮