一种图形用户界面动态生成方法,包括:(1)将界面元素的坐标设置方法、属性设置方法、动作响应方式和创建方法按照统一的接口进行封装,生成界面元素库;(2)按照业务需求将图形用户界面的布局信息、将要使用到的控件类型以及控件属性描述生成界面描述文件;(3)使用界面布局算法根据界面元素库和界面描述文件动态生成程序的图形用户界面。本发明专利技术提供一种通用灵活的可根据具体应用领域定制的软件界面动态生成技术,以解决软件界面开发成本高,升级维护困难,工作成果不易重用,及界面布局困难灵活性差的问题。
【技术实现步骤摘要】
本专利技术属于计算机应用领域,具体涉及一种图形用户界面的动态生成方法。
技术介绍
图形用户界面是软件的窗口,是用户操作软件并获得反馈的媒介,并且随着信息 技术的发展,用户不仅对软件的功能提出了更高的要求,同时对软件界面的美观程度、界面 的可定制性等方面也提出了更高的要求。 软件图形用户界面一般采用开发环境提供的辅助设计工具、硬编码或两者结合的 方式实现。采用辅助设计工具实现图形用户界面,开发者需要掌握的技术细节少,界面布局 方便直观,但是对控件功能扩展和定制困难,而且定制和调试的成果不易重用,一般开发周 期长,调试维护困难。采用硬编码实现图形用户界面,开发者可方便的对控件进行扩展或定 制新控件,而且开发设计良好的控件易于重用,但相应的开发者需要掌握大量的技术细节, 并且界面布局困难,编码量大,开发周期长,调试维护困难。 为了解决这些问题,业界开发了各种自动生成图形用户界面的技术。专利号为CN 101202665 B的专利图形用户界面的生成方法描述了一种通过XML配置文件在C/S架 构软件的客户端无需编译程序运行时动态生成图形用户界面的方法。在此专利中,服务器 以XML界面配置文件作为对客户端业务请求的响应,并将之发送给客户端,客户端解析配 置文件,从组件库获取需要的组件,并将组件实例化以生成图形用户界面。解决了 C/S架构 软件客户端界面升级维护困难的问题,并且提高了界面的开发效率,降低了开发成本。 在实际应用中,程序设计人员需要面对的软件架构及图形用户界面类型多种多 样,通用的图形用户界面解决方案需要在技术上提供一定的灵活性以满足各类应用环境的 需求;软件图形用户界面的设计与实现涉及多种界面编程技术,各类应用环境在具体技术 选择上需要考虑业务需求、历史传承和界面编程技术的特点等方面,通用的图形用户界面 解决方案需要提供对不同的界面编程技术的封装方式,使不同的界面编程技术以一致的接 口融入解决方案;不同的应用领域由于需求的不同,所使用的界面元素类型集合和界面风 格都存在不同程度的差异,通用的图形用户界面解决方案需要提供不同层面的业务领域定 制方式,以适应不同应用领域的需求。专利CN 101202665 B显然无法很好的解决这样的 问题。
技术实现思路
本专利技术的技术解决问题是:克服现有技术的不足,提供了一种通用的动态生成软 件图形用户界面的方法,可以针对不同应用领域定制,实现程序运行过程中图形用户界面 的动态生成,解决了软件界面开发成本高,升级维护困难,工作成果不易重用,及界面布局 困难灵活性差的问题。 本专利技术的技术解决方案是: -种图形用户界面动态生成方法,步骤如下: (1)将界面元素按照统一的接口进行封装,生成界面元素库; 所述界面元素按功能分为控件和容器,控件是在功能和逻辑上具有独立性的界面 元素,每个控件都具有一组属性和可以执行的动作,容器是界面上容纳一组在功能或逻辑 上相关控件的窗口或面板,容器也属于控件; 将各类控件和容器特有的坐标设置方法、属性设置方法、动作响应方式和创建方 法按照统一的接口进行封装,生成界面元素库; (2)根据欲生成的图形用户界面的需求生成界面描述文件,所述界面描述文件中 包括欲生成的图形界面的布局信息、将要使用到的控件类型以及控件属性描述; (3)使用界面布局算法根据步骤(1)生成的界面元素库和步骤(2)中生成的界面 描述文件动态生成图形用户界面,所述图形用户界面由一个主容器构成,主容器中包括若 干子容器和若干子控件; 具体为: Sl :按照界面描述文件中的将要使用到的控件类型,从界面元素库中抽取主容器 类型的描述并创建其实例; S2:根据界面描述文件中的布局信息确定主容器的位置坐标,使用主容器坐标设 置方法设置其位置坐标,使用属性设置方法设置其属性; S3:遍历主容器的子控件和子容器,创建子控件和子容器的实例,按照界面描述文 件中关于该子控件或子容器的控件属性描述设置其属性,设置动作响应的方式,确定子控 件或子容器位置坐标并设置,若创建的是子容器,则在创建子容器后,向下遍历其子控件, 若主容器的所有子控件和子容器都遍历完毕,则整个图形用户界面生成完毕。 所述步骤S2中根据界面描述文件中的布局信息确定主容器的位置坐标以及步骤 S3中确定子控件或子容器位置坐标均可以通过如下三种方式任选一种进行: 方式一为静态方法:在生成所述界面描述文件时,所述图形界面的布局信息中直 接定义每个界面元素在目标分辨率的屏幕上的绝对坐标; 方式二为动态方法:采用表格嵌套表格的方法对屏幕进行划分,每个界面元素在 屏幕的位置对应一个单元格,根据表格的行列比例关系、不同表格的嵌套关系和屏幕的实 际分辨率,确定出每个表格中单元格的坐标,即每个界面元素的位置坐标。 方式三为静动结合方法:在生成所述界面描述文件时,所述图形界面的布局信息 中直接定义每个界面元素在目标分辨率的屏幕上的绝对坐标,在根据界面描述文件动态 生成图形用户界面时,如果当前运行环境的屏幕分辨率不是界面描述文件的目标分辨率, 那么将界面描述文件中定义的绝对坐标等比例换算为适合当前运行环境屏幕分辨率的坐 标; 本专利技术与现有技术相比的有益效果是: (1)按照具体应用领域的需求,可选择适宜的界面编程技术并对其中固有的界面 元素在不同层次进行定制,如对所选用界面编程技术中固有的界面元素可直接选用、进行 功能定制或扩展、对多个界面元素进行组合、设计制作新的界面元素,然后对这些界面元素 使用统一的接口进行封装,即可构建符合特定应用领域需求的界面元素库。 该方式即解决了使用辅助设计工具生成软件图形用户界面时界面元素扩展和定 制困难的问题,也解决了使用硬编码方式生成图形用户界面时每次都需要处理大量技术细 节的问题,同时上述定制、开发和调试工作的成果由于保存在界面元素库中,可在后续软件 图形用户界面开发中重复使用。 (2)可按业务需求选取不同的控件位置坐标计算方法实现界面布局,并且界面布 局信息在界面描述文件中定义,所以界面布局的调试不需要重新编译代码,提高了界面的 开发效率,降低了界面的设计难度。 (3)除按应用领域需求构建界面元素库外,如不涉及具体软件需要实现的业务逻 辑,界面的开发和维护仅需编写或修改界面描述文件,无需编写代码或重新编译程序,因此 本专利技术也适合于快速界面原型开发。 (4)支持在使用本专利技术的应用启动运行过程中根据运行环境及需求的变换动态改 变软件的界面,或启动后根据用户的需求弹出适合的子对话框或页面。 【附图说明】 图1为本专利技术技术解决方案示意图; 图2为表格嵌套表格的不意图; 图3为界面布局算法的实施例流程; 图4为本专利技术方法流程图。 【具体实施方式】 下面结合附图对本专利技术的【具体实施方式】进行进一步的详细描述。 本专利技术所述解决方案如图1所示,主要由界面元素库、界面描述文件和界面布局 算法构成。 界面元素库使用控件接口和容器接口对某一具体界面编程技术提供的界面元素 进行包装,为界面描述文件和布局算法提供一致的界面元素使用接口,以简化两者的设计 和实现,提供了在本文档来自技高网...
【技术保护点】
一种图形用户界面动态生成方法,其特征在于步骤如下:(1)将界面元素按照统一的接口进行封装,生成界面元素库;所述界面元素按功能分为控件和容器,控件是在功能和逻辑上具有独立性的界面元素,每个控件都具有一组属性和可以执行的动作,容器是界面上容纳一组在功能或逻辑上相关控件的窗口或面板,容器也属于控件;将各类控件和容器特有的坐标设置方法、属性设置方法、动作响应方式和创建方法按照统一的接口进行封装,生成界面元素库;(2)根据欲生成的图形用户界面的需求生成界面描述文件,所述界面描述文件中包括欲生成的图形界面的布局信息、将要使用到的控件类型以及控件属性描述;(3)根据步骤(1)生成的界面元素库和步骤(2)中生成的界面描述文件动态生成图形用户界面,所述图形用户界面由一个主容器构成,主容器中包括若干子容器和若干子控件;具体为:S1:按照界面描述文件中的将要使用到的控件类型,从界面元素库中抽取主容器类型的描述并创建其实例;S2:根据界面描述文件中的布局信息确定主容器的位置坐标,使用主容器坐标设置方法设置其位置坐标,使用属性设置方法设置其属性;S3:遍历主容器的子控件和子容器,创建子控件和子容器的实例,按照界面描述文件中关于该子控件或子容器的控件属性描述设置其属性,设置动作响应的方式,确定子控件或子容器位置坐标并设置,若创建的是子容器,则在创建子容器后,向下遍历其子控件,若主容器的所有子控件和子容器都遍历完毕,则整个图形用户界面生成完毕。...
【技术特征摘要】
1. 一种图形用户界面动态生成方法,其特征在于步骤如下: (1) 将界面元素按照统一的接口进行封装,生成界面元素库; 所述界面元素按功能分为控件和容器,控件是在功能和逻辑上具有独立性的界面元 素,每个控件都具有一组属性和可以执行的动作,容器是界面上容纳一组在功能或逻辑上 相关控件的窗口或面板,容器也属于控件; 将各类控件和容器特有的坐标设置方法、属性设置方法、动作响应方式和创建方法按 照统一的接口进行封装,生成界面元素库; (2) 根据欲生成的图形用户界面的需求生成界面描述文件,所述界面描述文件中包括 欲生成的图形界面的布局信息、将要使用到的控件类型以及控件属性描述; (3) 根据步骤(1)生成的界面元素库和步骤(2)中生成的界面描述文件动态生成图 形用户界面,所述图形用户界面由一个主容器构成,主容器中包括若干子容器和若干子控 件; 具体为: 51 :按照界面描述文件中的将要使用到的控件类型,从界面元素库中抽取主容器类型 的描述并创建其实例; 52 :根据界面描述文件中的布局信息确定主容器的位置坐标,使用主容器坐标设置方 法设置其位置坐标,使用属性设置方法设置其属性; 53 :遍历主容器的子控件和子容器,创建子控件和子容器的实例,按照界面描述文件中 关...
【专利技术属性】
技术研发人员:王鑫,韦华颖,王飞,上官子粮,齐竹云,解月江,
申请(专利权)人:北京航天自动控制研究所,中国运载火箭技术研究院,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。