CN102520935A - 一种用于快速开发用户界面的方法 - Google Patents
一种用于快速开发用户界面的方法 Download PDFInfo
- Publication number
- CN102520935A CN102520935A CN2011103865654A CN201110386565A CN102520935A CN 102520935 A CN102520935 A CN 102520935A CN 2011103865654 A CN2011103865654 A CN 2011103865654A CN 201110386565 A CN201110386565 A CN 201110386565A CN 102520935 A CN102520935 A CN 102520935A
- Authority
- CN
- China
- Prior art keywords
- interface
- function
- button
- data
- tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种用于快速开发用户界面的方法,实现一个通用界面框架;所述通用界面框架上方为功能按钮,左侧为树形结构,右侧为主功能区;用户根据通用界面框架提供的功能来生成页面。通过本发明提供通用的界面框架,使得开发人员可以快速的开发用户界面;在开发具有相似结构的界面时,能够通过调整框架整体样式使得用户界面风格一致;在涉及到界面整体内容的修改时,可以通过修改该框架的内容,快速的实现所有界面内容的变更。
Description
技术领域
本发明涉及界面应用开发,具体来说,涉及一种用于快速开发用户界面的方法。
背景技术
在开发人员根据需求和设计,开发用户界面的过程中,将会有很多结构相似界面。传统的界面开发方法是每个界面都会对应一份独立的代码,不同开发人员的界面可能因此,会出现多份代码中会有大量相同代码的情况,这样不仅开发的时候浪费时间,后期维护时,由于要维护多份相同的代码,增加了维护的复杂度。而且,不同的开发人员有不同的代码书写和界面展示风格,代码可读性差,人员出现变动时,会造成工作交接困难。本发明提供一个通用的可扩展的界面框架,对于拥有相似结构的界面,开发人员只需提供界面显示所需的数据以及功能性的控件,即可完成该界面的开发,后期维护时,如果需要修改整体结构和功能,只需要修改框架本身的内容,即可实现所有相关界面的变更。而且,由于拥有通用的框架,统一的接口,相同的界面风格,后期维护以及人员变动工作交接将会变得更加方便。
发明内容
本发明的目的是对于具有相似结构的界面,解决不能快速开发以及维护困难的问题。为了实现这个目的,进行了如下步骤:
1.实现一个通用的用户界面框架
通用界面框架根据不同界面的内容,显示相应的功能界面。该框架的整体布局为:上方为功能按钮,左侧为树形结构,右侧为主功能区,是用于显示数据的动态表格。
1)上方功能按钮区域默认不显示任何按钮,各界面可以通过扩展接口添加需要的功能按钮,按钮可以选择在区域的左侧或右侧显示。
2)左侧树形结构区域缺省提供树的展开、收缩和刷新按钮,提供扩展接口,各业务子系统可根据需要添加命令按钮;树的内容由各业务系统自定义;树形结构区域提供隐藏/显示功能。
3)动态表格区域提供一个可分页、刷新的表格,表格的表头和数据可以根据左侧树节点点击事件而改变;上方功能按钮可以对表格数据进行增、删、改、查、刷新等操作;对于表格的每一个单元格,鼠标悬浮其上时,会弹出一个悬浮窗显示该单元格中的内容。
2.动态表格生成类
提供表格初始化及数据刷新的接口,该接口被框架整体布局类调用,根据左侧树节点点击事件,右侧动态表格会显示相应的表头和数据。具体流程如下:
1)表格初始化:框架整体布局类调用接口:DynamicGridPanel(myPageSize,isCheckBox,config)对表格进行初始化。其中,myPageSize为表格分页时每页的行数;isCheckBox表示在表格的第一列是否为复选框列;config为Map结构,key为sm表示表格的第一列的格式,例如复选框、行编号等。
2)表格数据刷新:包括表格表头、列数量、表格数据的刷新。接口为refreshData(data,proxyUrl,paramMap),其中,data为表格表头格式及表格数据,Map结构,Map的key分别为columnHead,fields和columns,columnHead为表格的表头,fields和columns为表格数据;proxyUrl为获取数据的URL;paramMap为左侧树节点信息,包括节点ID等为后台提供查询条件。
3.框架整体布局类
界面整体布局的基类,实现了上方为功能按钮,左侧为树形结构,右侧为动态表格的结构。通过覆盖该类的成员变量和相关事件函数,传入该界面所需的功能按钮参数,即可完成该界面的开发。该类是预加载的,在打开界面之前已经加载,所以不需要导入界面Jsp文件中,只需把其子类所在的Javascript文件导入Jsp文件中即可。具体流程如下:
1)初始化树形结构:左侧树形结构内容是由后台提供的,界面实现类继承框架整体布局类后,通过重写,可以提供获取树形结构数据所需的URL,通过该URL可以通过Ajax请求获取相关数据,所需重写的成员变量为treeUrl。
2)初始化动态表格:树形结构初始化后,会默认选中第一个有效的叶子节点,触发节点单击事件,界面子类重写成员变量gridUrl,通过Ajax请求,把树节点信息传给后台,后台返回动态表格所需数据,即完成动态表格的初始化。
3)初始化功能按钮:功能按钮的初始化不需后台参与,只需在界面子类中组织好生成功能按钮所需的信息即可完成上方功能按钮区域的初始化。
通过本发明提供通用的界面框架,使得开发人员可以快速的开发用户界面;在开发具有相似结构的界面时,能够通过调整框架整体样式使得用户界面风格一致;在涉及到界面整体内容的修改时,可以通过修改该框架的内容,快速的实现所有界面内容的变更。
附图说明
以下,结合附图来详细说明本发明的实施例,其中:
图1为通用界面框架整体布局。
图2为左侧树形结构隐藏后的布局。
具体实施方式
下面结合附图和具体实施方式对本发明的方法进行说明。
1.通过菜单项打开用户界面时,会初始化界面整体布局,包括上方功能按钮区域,左侧树形结构区域,右侧动态表格区域。
2.该界面的JavaScript类继承界面框架基类,通过传入参数的形式,把所需的功能按钮的控件传入上方功能按钮区域,其中按钮的点击事件所需函数由子类重写,初始化该区域完成。所传参数为Map结构,其Key分别为:leftbuttons,rightbuttons。
1)leftbuttons:表示上方功能按钮区域左边区域的按钮,一般包括增加、删除、修改等操作按钮;
2)rightbuttons:表示上方功能按钮区域右边区域的按钮或输入框的控件,主要是查询条件输入框、查询按钮、刷新按钮等;
3.覆盖基类树形结构获取数据的URL成员变量,通过Ajax方式向后台请求树形结构内容所需数据,后台返回JSON格式的数据,界面框架基类把JSON字符串转换为Map结构数据,其Key为:text,isGrid,nodedType,nodedId,leaf,children,isOperate,iconCls,qtip。
1)Text:表示树节点显示的名称;
2)isGrid:true或false,表示右侧是否是表格,true表示右侧为动态表格,false表示右侧不是动态表格,需自定义;
3)nodedType:表示节点的类型,通常用于表示当前节点所显示的是什么类型的内容;
4)nodedId:表示节点ID,与text相对应;
5)leaf:true或false,true表示当前节点为叶子节点;
6)children:表示当前节点的子节点,leaf为true时,其值为Map结构的值,leaf为false,其值为空;
7)isOperate:表示上方的功能按钮区域是否显示按钮,true表示显示功能按钮;
8)iconCls:表示节点图标的样式类,在CSS文件中定义;
9)qtip:当鼠标悬浮在节点上时弹出的悬浮窗中显示的信息。
4.覆盖基类动态表格获取数据的URL成员变量,点击树节点后,通过Ajax方式向后台获取动态表格显示所需数据。
1)传入参数:需要传入树节点和查询数据所需的查询条件信息,Map结构的必须要有的Key分别为:nodedId,nodedType,limit,start。
a)nodedId:树节点的ID,通常作为查询条件筛选数据;
b)nodedType:树节点类型,表示当前节点显示数据的含义;
c)limit:动态表格控件分页时自动生成的表示每页第一行的序号,从0开始计算;
d)start:动态表格分页时每页显示数据的行数。
2)返回数据:后台根据传入的参数查询数据库后将返回一个JSON字符串,转换为Map结构后其Key分别为:total,columnHead,columns,fields。
a)total:后台根据界面提供的查询条件检索到的数据总数,用于表格分页显示;
b)columnHead:动态表格的表头名称;
c)columns:查询得到的数据,是一个List<Map>结构,List的每一项对应表格的一行数据,Map中的各项对应表格中的各列,其中的数据不一定都会显示在表格中,某些数据将用于完成一些功能,例如删除操作,删除的时候需要一行数据的ID,但是ID一般不会显示在表格中;
d)fields:包含返回的数据中的每一项的名称,对应columns中的Map中的各项,但是不包含数据,是为了组织表格数据而包含在返回结果中。
5.树节点点击、功能按钮点击、动态表格行点击事件的处理函数,在界面框架基类中已经定义,界面需要的话可以通过重写相关函数来实现所需功能:
1)handlerAddOrUpdateRecord(buttonId,handlerGrid):上方功能按钮单击时间函数,其参数为:buttonId表示按钮的唯一标识,可通过该ID判断按钮需实现的功能,handlerGrid表示动态表格对象,通过它可以定位当前表格被选中的一行或多行;
2)isShowButton(node):树节点单击触发,是否显示上方区域的按钮,参数node为当前选中树节点对象;
3)handleTreeClickInitTextWindowPanel(node):当右侧区域不是动态表格时,可以自定义该区域的内容,参数node表示当前选中的树节点对象。
4)handleRowClick(grid,rowIndex):动态表格行的单击事件触发函数,参数:grid表示表格对象,rowIndex表示表格中被点击行的索引。
5)handleRowdblClick(grid,rowIndex):动态表格行的双击事件触发函数,参数:grid表示表格对象,rowIndex表示表格中被点击行的索引。
Claims (4)
1.一种用于快速开发用户界面的方法,其特征在于:实现一个通用界面框架;所述通用界面框架上方为功能按钮,左侧为树形结构,右侧为主功能区;用户根据通用界面框架提供的功能来生成页面。
2.如权利要求1所述的方法,其特征在于:
所述上方功能按钮区域默认不显示任何按钮,各界面可以通过扩展接口添加需要的功能按钮,按钮可以选择在区域的左侧或右侧显示;
所述左侧树形结构区域缺省提供树的展开、收缩和刷新按钮,提供扩展接口,各业务子系统可根据需要添加命令按钮;树的内容由各业务系统自定义;树形结构区域提供隐藏/显示功能;
所述主功能区用于显示数据的动态表格,该表格可分页、刷新,表格的表头和数据可以根据左侧树节点点击事件而改变;上方功能按钮可以对表格数据进行增、删、改、查、刷新操作;对于表格的每一个单元格,鼠标悬浮其上时,会弹出一个悬浮窗显示该单元格中的内容。
3.如权利要求2所述的方法,其特征在于:所述动态表格由动态表格生成类实现,动态表格生成类提供表格初始化及数据刷新的接口,该接口被框架整体布局类调用,根据左侧树节点点击事件,右侧动态表格会显示相应的表头和数据。
4.如权利要求1所述的方法,其特征在于:所述通用界面框架由框架整体布局类实现,通过覆盖该类的成员变量和相关事件函数,传入该界面所需的功能按钮参数,即可完成该界面的开发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103865654A CN102520935A (zh) | 2011-11-29 | 2011-11-29 | 一种用于快速开发用户界面的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103865654A CN102520935A (zh) | 2011-11-29 | 2011-11-29 | 一种用于快速开发用户界面的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102520935A true CN102520935A (zh) | 2012-06-27 |
Family
ID=46291877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103865654A Pending CN102520935A (zh) | 2011-11-29 | 2011-11-29 | 一种用于快速开发用户界面的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102520935A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559292A (zh) * | 2013-11-07 | 2014-02-05 | 大连东方之星信息技术有限公司 | 一种自定义动态创建并显示多级表格的方法 |
CN103823681A (zh) * | 2014-02-24 | 2014-05-28 | 广州精攻网络科技有限公司 | 一种web控件的生成方法及装置 |
CN105653750A (zh) * | 2014-12-03 | 2016-06-08 | 航天科工仿真技术有限责任公司 | 人机界面三维设计系统中组件布局的实现方法 |
CN103870130B (zh) * | 2012-12-14 | 2017-03-22 | 北京新媒传信科技有限公司 | 一种终端中呈现界面的方法和系统 |
CN107479433A (zh) * | 2017-07-17 | 2017-12-15 | 郑州众智科技股份有限公司 | 一种基于发电机组控制器自定义主题的生成方法 |
CN107885497A (zh) * | 2017-11-08 | 2018-04-06 | 北京锐安科技有限公司 | 一种基于表格框架的网页前端数据展示方法及装置 |
CN109522073A (zh) * | 2018-11-06 | 2019-03-26 | 网宿科技股份有限公司 | 基于json的多层级页面存储方法、装置及电子设备 |
CN115269058A (zh) * | 2022-09-29 | 2022-11-01 | 广州市保伦电子有限公司 | 一种wpf资源加载方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1395193A (zh) * | 2001-07-05 | 2003-02-05 | 英业达股份有限公司 | 在网页上生成动态可编辑表格的方法 |
WO2003067427A2 (en) * | 2002-02-07 | 2003-08-14 | British Telecommunications Public Limited Company | Graphical user interface |
CN101005681A (zh) * | 2006-01-17 | 2007-07-25 | 大唐移动通信设备有限公司 | 界面自动生成方法和界面自动生成系统 |
CN101833458A (zh) * | 2010-05-28 | 2010-09-15 | 北京中恒博瑞数字电力科技有限公司 | 基于模板的用户应用界面自动生成的方法 |
-
2011
- 2011-11-29 CN CN2011103865654A patent/CN102520935A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1395193A (zh) * | 2001-07-05 | 2003-02-05 | 英业达股份有限公司 | 在网页上生成动态可编辑表格的方法 |
WO2003067427A2 (en) * | 2002-02-07 | 2003-08-14 | British Telecommunications Public Limited Company | Graphical user interface |
CN101005681A (zh) * | 2006-01-17 | 2007-07-25 | 大唐移动通信设备有限公司 | 界面自动生成方法和界面自动生成系统 |
CN101833458A (zh) * | 2010-05-28 | 2010-09-15 | 北京中恒博瑞数字电力科技有限公司 | 基于模板的用户应用界面自动生成的方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870130B (zh) * | 2012-12-14 | 2017-03-22 | 北京新媒传信科技有限公司 | 一种终端中呈现界面的方法和系统 |
CN103559292A (zh) * | 2013-11-07 | 2014-02-05 | 大连东方之星信息技术有限公司 | 一种自定义动态创建并显示多级表格的方法 |
CN103823681A (zh) * | 2014-02-24 | 2014-05-28 | 广州精攻网络科技有限公司 | 一种web控件的生成方法及装置 |
CN103823681B (zh) * | 2014-02-24 | 2017-02-08 | 广州精攻网络科技有限公司 | 一种web控件的生成方法及装置 |
CN105653750A (zh) * | 2014-12-03 | 2016-06-08 | 航天科工仿真技术有限责任公司 | 人机界面三维设计系统中组件布局的实现方法 |
CN107479433A (zh) * | 2017-07-17 | 2017-12-15 | 郑州众智科技股份有限公司 | 一种基于发电机组控制器自定义主题的生成方法 |
CN107479433B (zh) * | 2017-07-17 | 2019-08-30 | 郑州众智科技股份有限公司 | 一种基于发电机组控制器自定义主题的生成方法 |
CN107885497A (zh) * | 2017-11-08 | 2018-04-06 | 北京锐安科技有限公司 | 一种基于表格框架的网页前端数据展示方法及装置 |
CN109522073A (zh) * | 2018-11-06 | 2019-03-26 | 网宿科技股份有限公司 | 基于json的多层级页面存储方法、装置及电子设备 |
CN115269058A (zh) * | 2022-09-29 | 2022-11-01 | 广州市保伦电子有限公司 | 一种wpf资源加载方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102520935A (zh) | 一种用于快速开发用户界面的方法 | |
CN106528129B (zh) | 一种Web应用界面生成系统及方法 | |
US8875032B2 (en) | System and method for dynamic configuration of components of web interfaces | |
US10261659B2 (en) | Orbit visualization for displaying hierarchical data | |
KR101811464B1 (ko) | 옵션들을 선택하기 위한 스핀 컨트롤 사용자 인터페이스 | |
CN103197929A (zh) | 一种面向儿童的图形化编程系统和方法 | |
CN110688117B (zh) | 一种基于JavaWeb的界面设计器、平台及其页面配置方法 | |
EP2463790A1 (en) | Manipulation of elements and their attributes in graphical user interfaces | |
CN109033260A (zh) | 基于rdf的知识图谱交互式可视化查询方法 | |
CN101071375A (zh) | 一种界面开发系统及组合控件的方法 | |
CN107111639A (zh) | 构建报表 | |
US20200394055A1 (en) | System and method for providing a configurable user interface using a self-describing data system | |
CN103413041B (zh) | 一种基于复杂产品研制对象的协同感知系统构建方法 | |
CN102339421A (zh) | 一种用于生态建设管理的决策支持系统 | |
CN104063446A (zh) | 多用户创作内容的版本控制方法和实现方法 | |
CN103399750A (zh) | 用户界面实现方法及装置 | |
CN103927185A (zh) | 基于能源管理的网络拓扑建模装置及其引导方法 | |
CN103530379A (zh) | 树形结构数据显示方法与装置 | |
CN106250110B (zh) | 建立模型的方法及装置 | |
JP3737728B2 (ja) | グラフィカル・インターフェース木構成要素を使用してオブジェクト間の論理関係をグラフィカルに表示する方法 | |
US20140040724A1 (en) | Method and system for website creation | |
CN104239606B (zh) | Web环境下支持触屏的UML建模方法与装置 | |
CN107562763A (zh) | 数据变化的显示方法及装置 | |
CN102129468B (zh) | 一种可定制集群状态展现的方法 | |
CN104063219A (zh) | 一种web系统的表格开发方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120627 |