一种界面的生成系统和方法

文档序号:6493534阅读:152来源:国知局
一种界面的生成系统和方法
【专利摘要】本发明涉及一种界面的生成系统和方法。该系统包括:界面触发模块、控件描述模块、解析器、事件链接库模块;其中,界面触发模块生成界面的外部窗体,并触发解析器;控件描述模块存储各控件的基本信息、属性信息和事件信息;解析器受界面触发模块的触发而启动;从控件描述模块获得基本信息、属性信息和事件信息;生成各控件并将其加载到外部窗体上;确定每个控件的属性及事件与事件处理方法的对应关系;检测事件,确定该事件涉及的控件,进而确定与该事件相应的事件处理方法,从事件链接库模块获得事件处理方法并执行;事件链接库模块存储事件处理方法。本发明能提高面对新业务时的灵活度,降低修改的工作量,提高修改的效率和质量。
【专利说明】一种界面的生成系统和方法
【技术领域】
[0001]本发明涉及界面的生成【技术领域】,特别是涉及一种界面的生成系统和方法。
【背景技术】
[0002]界面是客户端与用户进行交流的中介。界面包括外部窗体以及分布在外部窗体上的若干个控件,每个控件都有一个或多个事件,每个事件又对应着一个或多个事件处理方法。用户的指示通过控件的事件进行反映,接着执行该事件所对应的事件处理方法,作为对用户指示的响应。
[0003]现有技术生成的界面,其各控件的事件以及事件处理方法都与外部窗体绑定在一起,无法分割,当有新的业务需求而需要进行控件、事件或事件处理方法的增删时,就要对该界面的程序进行全面的改动,然后重新测试和应用。可见,现有的界面生成技术在面对新业务时很不灵活,修改的工作量巨大,且容易出错。

【发明内容】

[0004]本发明所要解决的技术问题是提供一种界面的生成系统和方法,能提高面对新业务时的灵活度,降低修改的工作量,提高修改的效率和质量。
[0005]本发明解决上述技术问题的技术方案如下:一种界面的生成系统,该系统包括:界面触发模块、控件描述模块、解析器、事件链接库模块;其中,
[0006]所述界面触发模块用于,根据外部的界面生成请求,生成所述界面的外部窗体,并触发所述解析器;
[0007]所述控件描述模块用于,存储各控件的基本信息、属性信息和事件信息,并将其发送到所述解析器;所述基本信息包括:名称信息、类型信息、层次信息;所述属性信息包括:尺寸信息、字体信息、颜色信息、所述控件在所述外部窗体上的位置信息;所述事件信息包括:各事件处理方法在所述事件链接库模块中的存储地址、事件与相应的事件处理方法之间的对应关系;
[0008]所述解析器用于,受所述界面触发模块的触发而启动;从所述控件描述模块获得所述基本信息,生成各控件,使每个所述控件的名称和类型分别符合其名称信息和其类型信息的要求,按照所述层次信息确定的层次关系将各所述控件加载到所述外部窗体上;根据从所述控件描述模块获得的所述属性信息,确定每个所述控件的属性,所述属性包括:符合所述尺寸信息的要求的尺寸、符合所述字体信息的要求的字体、符合所述颜色信息的要求的颜色、符合所述位置信息的要求的位置;从所述控件描述模块获得所述事件信息,确定每个所述控件的事件与相应的事件处理方法之间的对应关系;检测所发生的事件,确定该事件涉及的控件,进而根据该控件的事件与相应的事件处理方法之间的对应关系,确定与该事件相应的事件处理方法,根据该事件处理方法在所述事件链接库模块中的存储地址,从所述事件链接库模块获得所述事件处理方法并执行;
[0009]所述事件链接库模块用于,存储所述事件处理方法,并将其发送到所述解析器。[0010]本发明的有益效果是:本发明中,界面触发模块在外部提供的界面生成请求的触发下,可以生成界面的外部窗体,进而触发解析器的工作;解析器是本发明的操作核心,可从控件描述模块获得其存储的各控件的基本信息、属性信息和事件信息,在此基础上在外部窗体上生成和设置各控件,解析器在检测到控件的事件发生时,还可以从事件链接库模块获得其存储的相应的事件处理方法并执行,作为对用户指示的响应。本发明生成的界面中,控件的基本信息、属性信息和事件信息保存在控件描述模块中,事件处理方法保存在事件链接库模块中,均与界面触发模块所生成的外部窗体相隔离,因而当有新的业务需求而需要进行控件、事件、事件处理方法的增删时,只需对控件描述模块或事件链接库模块中的信息做简单修改即可,无需对整个系统做大的变动,修改的工作量很小,而且简单、可靠、不易出错,这大大提高了本发明面对新业务时的灵活度,降低了修改的工作量,提高了修改的效率和质量。
[0011]在上述技术方案的基础上,本发明还可以做如下改进:
[0012]进一步,所述控件为可以生成数据表格的数据表格控件;则所述数据表格控件的所述属性信息中:
[0013]所述尺寸信息包括:所述数据表格控件生成的数据表格的行数、列数、每一列的长度和宽度;
[0014]所述字体信息为:在所述数据表格控件生成的数据表格中要填写的文字内容的字体;
[0015]所述颜色信息为:所述数据表格控件生成的数据表格的背景颜色;
[0016]所述控件在所述界面上的位置信息为:所述数据表格控件生成的数据表格的第一列的位置。
[0017]进一步,所述属性信息还包括:初始值信息;
[0018]则所述解析器所确定的每个所述控件的属性还包括:符合所述初始值信息的要求的初始值。
[0019]进一步,所述控件描述模块中,每个所述控件的所述属性信息以一个XML节点的形式存储。
[0020]进一步,所述控件描述模块中,每个所述控件的所述事件信息以一个XML节点的形式存储,该控件的事件对应于该XML节点的属性,且与该事件相应的事件处理方法对应于该XML节点与该属性相应的属性值。
[0021]另外,本发明还提供了一种界面的生成方法,该方法基于上述的系统;该方法包括:
[0022]步骤1:界面触发模块根据外部的界面生成请求,生成所述界面的外部窗体,并触发解析器;所述解析器受所述界面触发模块的触发而启动;
[0023]步骤2:所述解析器从控件描述模块获得各控件的基本信息,生成各控件,使每个所述控件的名称和类型分别符合其基本信息中的名称信息和类型信息的要求,按照所述基本信息中的层次信息确定的层次关系将各所述控件加载到所述外部窗体上;
[0024]步骤3:所述解析器根据从所述控件描述模块获得的属性信息,确定每个所述控件的属性,所述属性包括:符合所述属性信息中的尺寸信息的要求的尺寸、符合所述属性信息中的字体信息的要求的字体、符合所述属性信息中的颜色信息的要求的颜色、符合所述属性信息中的位置信息的要求的位置;
[0025]步骤4:所述解析器从所述控件描述模块获得事件信息,确定每个所述控件的事件与相应的事件处理方法之间的对应关系;
[0026]步骤5:所述解析器检测所发生的事件,确定该事件涉及的控件,进而根据该控件的事件与相应的事件处理方法之间的对应关系,确定与该事件相应的事件处理方法;
[0027]步骤6:所述解析器根据所述事件信息中事件处理方法在事件链接库模块中的存储地址,从所述事件链接库模块获得所述事件处理方法,并执行。
【专利附图】

【附图说明】
[0028]图1为本发明提出的界面的生成系统的结构图;
[0029]图2为本发明提出的界面的生成方法的流程图。
【具体实施方式】
[0030]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0031]图1为本发明提出的界面的生成系统的结构图。如图1所示,该系统包括:界面触发模块101、控件描述模块103、解析器102、事件链接库模块104。 [0032]界面触发模块101用于,根据外部的界面生成请求,生成界面的外部窗体,并触发解析器102。这里,界面生成请求来自客户端。
[0033]控件描述模块103用于,存储各控件的基本信息、属性信息和事件信息,并将其发送到解析器102。这里的基本信息包括:名称信息、类型信息、层次信息,分别对相应控件的名称、类型以及与其他控件的层次关系做了设定。这里的属性信息包括:尺寸信息、字体信息、颜色信息、控件在外部窗体上的位置信息,分别用于设置相应控件的尺寸、字体、颜色以及该控件在外部窗体上的位置。这里的事件信息包括:各事件处理方法在事件链接库模块104中的存储地址、事件与相应的事件处理方法之间的对应关系。在事件信息中,事件与相
应的事件处理方法之间的对应关系可以为--对应关系,也可以不是--对应关系,即一
个事件对应两个以上的事件处理方法,或两个以上的事件对应同一个事件处理方法。
[0034]解析器102是该系统的操作核心,其受界面触发模块101的触发而启动。解析器102可以从控件描述模块103获得基本信息,生成各控件,使每个控件的名称和类型分别符合其名称信息和其类型信息的要求,并按照层次信息确定的层次关系将各控件加载到外部窗体上。解析器102还可以根据从控件描述模块103获得的属性信息,确定每个控件的属性,所确定的属性包括:符合尺寸信息的要求的尺寸、符合字体信息的要求的字体、符合颜色信息的要求的颜色、符合位置信息的要求的位置。解析器102还可以从控件描述模块103获得事件信息,确定每个控件的事件与相应的事件处理方法之间的对应关系。这样,解析器102就可以检测所发生的事件,确定该事件涉及的控件,进而根据该控件的事件与相应的事件处理方法之间的对应关系,确定与该事件相应的事件处理方法,根据该事件处理方法在事件链接库模块104中的存储地址,从事件链接库模块104获得事件处理方法并执行。
[0035]事件链接库模块104用于,存储事件处理方法,并将其发送到解析器102。
[0036]本发明中的控件描述模块103、事件链接库模块104与外部窗体是相互隔离的,可以极大地降低三者之间的耦合度,从而提高本发明生成的界面面对新业务时的灵活度。
[0037]由此可见,本发明中,界面触发模块在外部提供的界面生成请求的触发下,可以生成界面的外部窗体,进而触发解析器的工作;解析器是本发明的操作核心,可从控件描述模块获得其存储的各控件的基本信息、属性信息和事件信息,在此基础上在外部窗体上生成和设置各控件,解析器在检测到控件的事件发生时,还可以从事件链接库模块获得其存储的相应的事件处理方法并执行,作为对用户指示的响应。本发明生成的界面中,控件的基本信息、属性信息和事件信息保存在控件描述模块中,事件处理方法保存在事件链接库模块中,均与界面触发模块所生成的外部窗体相隔离,因而当有新的业务需求而需要进行控件、事件、事件处理方法的增删时,只需对控件描述模块或事件链接库模块中的信息做简单修改即可,无需对整个系统做大的变动,修改的工作量很小,而且简单、可靠、不易出错,这大大提高了本发明面对新业务时的灵活度,降低了修改的工作量,提高了修改的效率和质量。
[0038]界面上的控件可以仅为一个,也可以超过一个。控件的种类也多种多样,例如,可以为常见的文本输入框控件、列表框控件、单选框控件、复选框控件、按钮控件、数据表格控件及容器控件等。其中,数据表格控件的属性信息比较特殊。在控件为可以生成数据表格的数据表格控件的情况下,该数据表格控件的属性信息中:
[0039]尺寸信息包括:数据表格控件生成的数据表格的行数、列数、每一列的长度和宽度;
[0040]字体信息为:在数据表格控件生成的数据表格中要填写的文字内容的字体;
[0041]颜色信息为:数据表格控件生成的数据表格的背景颜色;
[0042]控件在界面上的位置信息为:数据表格控件生成的数据表格的第一列的位置。
[0043]此外,本发明中,控件的属性信息还可以包括:初始值信息,用于设置控件的初始值。则解析器102所确定的每个控件的属性还包括:符合初始值信息的要求的初始值。
[0044]属性信息和事件信息在控件描述模块103中的存储方式多种多样,例如,每个控件的属性信息可以一个XML节点的形式存储。再如,每个控件的事件信息以一个XML节点的形式存储,这样,该控件的事件对应于该XML节点的属性,且与该事件相应的事件处理方法对应于该XML节点与该属性相应的属性值。
[0045]基于上述的系统,本发明还提出了一种界面的生成方法,图2为该方法的流程图。如图2所示,该方法包括:
[0046]步骤201:界面触发模块根据外部的界面生成请求,生成界面的外部窗体,并触发解析器;解析器受界面触发模块的触发而启动。
[0047]步骤202:解析器从控件描述模块获得各控件的基本信息,生成各控件,使每个控件的名称和类型分别符合其基本信息中的名称信息和类型信息的要求,按照基本信息中的层次信息确定的层次关系将各控件加载到外部窗体上。
[0048]步骤203:解析器根据从控件描述模块获得的属性信息,确定每个控件的属性,属性包括:符合属性信息中的尺寸信息的要求的尺寸、符合属性信息中的字体信息的要求的字体、符合属性信息中的颜色信息的要求的颜色、符合属性信息中的位置信息的要求的位置。
[0049]当然,属性信息还可以进一步包括初始值信息,则该步骤中,解析器所确定的每个控件的属性中,自然也就包括符合属性信息中的初始值信息的初始值了。[0050]步骤204:解析器从控件描述模块获得事件信息,确定每个控件的事件与相应的事件处理方法之间的对应关系。
[0051]根据该事件信息,解析器还可以获得事件处理方法在事件链接库模块中的存储地址。
[0052]步骤205:解析器检测所发生的事件,确定该事件涉及的控件,进而根据该控件的事件与相应的事件处理方法之间的对应关系,确定与该事件相应的事件处理方法。
[0053]步骤206:解析器根据事件信息中事件处理方法在事件链接库模块中的存储地址,从事件链接库模块获得事件处理方法,并执行。
[0054]本步骤是事件处理方法的调用和执行步骤。
[0055]由此可见,本发明具有以下优点:
[0056](I)本发明中,界面触发模块在外部提供的界面生成请求的触发下,可以生成界面的外部窗体,进而触发解析器的工作;解析器是本发明的操作核心,可从控件描述模块获得其存储的各控件的基本信息、属性信息和事件信息,在此基础上在外部窗体上生成和设置各控件,解析器在检测到控件的事件发生时,还可以从事件链接库模块获得其存储的相应的事件处理方法并执行,作为对用户指示的响应。本发明生成的界面中,控件的基本信息、属性信息和事件信息保存在控件描述模块中,事件处理方法保存在事件链接库模块中,均与界面触发模块所生成的外部窗体相隔离,因而当有新的业务需求而需要进行控件、事件、事件处理方法的增删时,只需对控件描述模块或事件链接库模块中的信息做简单修改即可,无需对整个系统做大的变动,修改的工作量很小,而且简单、可靠、不易出错,这大大提高了本发明面对新业务时的灵活度,降低了修改的工作量,提高了修改的效率和质量。
[0057]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种界面的生成系统,其特征在于,该系统包括:界面触发模块、控件描述模块、解析器、事件链接库模块;其中, 所述界面触发模块用于,根据外部的界面生成请求,生成所述界面的外部窗体,并触发所述解析器; 所述控件描述模块用于,存储各控件的基本信息、属性信息和事件信息,并将其发送到所述解析器;所述基本信息包括:名称信息、类型信息、层次信息;所述属性信息包括:尺寸信息、字体信息、颜色信息、所述控件在所述外部窗体上的位置信息;所述事件信息包括:各事件处理方法在所述事件链接库模块中的存储地址、事件与相应的事件处理方法之间的对应关系; 所述解析器用于,受所述界面触发模块的触发而启动;从所述控件描述模块获得所述基本信息,生成各控件,使每个所述控件的名称和类型分别符合其名称信息和其类型信息的要求,按照所述层次信息确定的层次关系将各所述控件加载到所述外部窗体上;根据从所述控件描述模块获得的所述属性信息,确定每个所述控件的属性,所述属性包括:符合所述尺寸信息的要求的尺寸、符合所述字体信息的要求的字体、符合所述颜色信息的要求的颜色、符合所述位置信息的要求的位置;从所述控件描述模块获得所述事件信息,确定每个所述控件的事件与相应的事件处理方法之间的对应关系;检测所发生的事件,确定该事件涉及的控件,进而根据该控件的事件与相应的事件处理方法之间的对应关系,确定与该事件相应的事件处理方法,根据该事件处理方法在所述事件链接库模块中的存储地址,从所述事件链接库模块获得所述事件处理方法并执行; 所述事件链接库模块用于,存储所述事件处理方法,并将其发送到所述解析器。
2.根据权利要求1所述的系统,其特征在于,所述控件为可以生成数据表格的数据表格控件;则所述数据表格控件的所述属性信息中: 所述尺寸信息包括:所述数据表格控件生成的数据表格的行数、列数、每一列的长度和览度; 所述字体信息为:在所述数据表格控件生成的数据表格中要填写的文字内容的字体; 所述颜色信息为:所述数据表格控件生成的数据表格的背景颜色; 所述控件在所述界面上的位置信息为:所述数据表格控件生成的数据表格的第一列的位置。
3.根据权利要求1所述的系统,其特征在于,所述属性信息还包括:初始值信息; 则所述解析器所确定的每个所述控件的属性还包括:符合所述初始值信息的要求的初始值。
4.根据权利要求1所述的系统,其特征在于,所述控件描述模块中,每个所述控件的所述属性信息以一个XML节点的形式存储。
5.根据权利要求1所述的系统,其特征在于,所述控件描述模块中,每个所述控件的所述事件信息以一个XML节点的形式存储,该控件的事件对应于该XML节点的属性,且与该事件相应的事件处理方法对应于该XML节点与该属性相应的属性值。
6.—种界面的生成方法,该方法基于权利要求1所述的系统;其特征在于,该方法包括: 步骤1:界面触发模块根据外部的界面生成请求,生成所述界面的外部窗体,并触发解析器;所述解析器受所述界面触发模块的触发而启动; 步骤2:所述解析器从控件描述模块获得各控件的基本信息,生成各控件,使每个所述控件的名称和类型分别符合其基本信息中的名称信息和类型信息的要求,按照所述基本信息中的层次信息确定的层次关系将各所述控件加载到所述外部窗体上; 步骤3:所述解析器根据从所述控件描述模块获得的属性信息,确定每个所述控件的属性,所述属性包括:符合所述属性信息中的尺寸信息的要求的尺寸、符合所述属性信息中的字体信息的要求的字体、符合所述属性信息中的颜色信息的要求的颜色、符合所述属性信息中的位置信息的要求的位置; 步骤4:所述解析器从所述控件描述模块获得事件信息,确定每个所述控件的事件与相应的事件处理方法之间的对应关系; 步骤5:所述解析器检测所发生的事件,确定该事件涉及的控件,进而根据该控件的事件与相应的事件处理方法之间的对应关系,确定与该事件相应的事件处理方法; 步骤6:所述解析器根据所述事件信息中事件处理方法在事件链接库模块中的存储地址,从所述事件链接库模块获得所述事件处理方法,并执行。
【文档编号】G06F9/44GK103902256SQ201210568278
【公开日】2014年7月2日 申请日期:2012年12月24日 优先权日:2012年12月24日
【发明者】魏贺生, 宋颖, 李少维, 洒西涛, 潘俊, 夏慧强 申请人:航天信息股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1