CN104239022A - 一种表格组件处理方法和装置 - Google Patents

一种表格组件处理方法和装置 Download PDF

Info

Publication number
CN104239022A
CN104239022A CN201310251288.5A CN201310251288A CN104239022A CN 104239022 A CN104239022 A CN 104239022A CN 201310251288 A CN201310251288 A CN 201310251288A CN 104239022 A CN104239022 A CN 104239022A
Authority
CN
China
Prior art keywords
row
model
change event
steering order
attribute change
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.)
Granted
Application number
CN201310251288.5A
Other languages
English (en)
Other versions
CN104239022B (zh
Inventor
盘学文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Huaao Data Technology Co Ltd
Original Assignee
Shenzhen Huaao Data Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Huaao Data Technology Co Ltd filed Critical Shenzhen Huaao Data Technology Co Ltd
Priority to CN201310251288.5A priority Critical patent/CN104239022B/zh
Publication of CN104239022A publication Critical patent/CN104239022A/zh
Application granted granted Critical
Publication of CN104239022B publication Critical patent/CN104239022B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请提供了一种表格组件处理方法,包括:控制器获取用户控制指令,控制指令至少包括列标识;控制器根据控制指令发布属性改变事件,属性改变事件对应列标识;第一列模型监听到属性改变事件后,根据列标识在第二列模型中找到对应列,并进行对应操作;第二列模型根据操作后的列数据通知控制器刷新界面。本发明实施例还提供了对应的装置。本发明实施例通过一个代理的列模型提供给控制器不包括隐藏列的数据,控制器刷新显示界面时因为获得的数据不包含隐藏列的数据,所以实现真正的列隐藏,提高了用户体验。

Description

一种表格组件处理方法和装置
技术领域
本申请涉及swing表格显示技术领域,特别是涉及一种表格组件处理方法和装置。
背景技术
Java Swing标准组件在实际应用中可以满足一般桌面程序的需求,比如表格的绘制,编辑等功能。在Java Swing标准组件中表格组件的架构基本为控制器、模型和界面的方式,控制器通过向列模型获取数据后控制界面显示。
在实际使用中用户可能需要使用Java Swing标准组件实现表格组件中某一列数据的隐藏或者显示。
现有技术中针对表格数据中列的隐藏或显示一般是当控制器获取用户隐藏指令时,通过设置列的最大、最下宽度为0来实现目标列的隐藏;当控制器获取到用户的显示指令时,再重新计算列的宽度,以获取列的宽度对列进行显示。
现有技术中由于隐藏方式采用将列宽度设置为0的方式,在视觉上隐藏了该列,但是在数据和逻辑上该列是存在的,当用户操作时可能会出现数据不对应导致用户体验不好。
发明内容
本申请所要解决的技术问题是提供一种表格组件处理方法能够在视觉上和逻辑上都可以对列进行隐藏或显示操作。
相应的,本申请还提供了对应的表格组件处理装置。
为了解决上述问题,本申请公开了一种表格组件处理方法,包括:
控制器获取用户控制指令,所述控制指令至少包括列标识;
所述控制器根据所述控制指令发布属性改变事件,所述属性改变事件对应所述列标识;
第一列模型监听到所述属性改变事件后,根据列标识在第二列模型中找到对应列,并进行对应操作;
第二列模型根据操作后的列数据通知控制器刷新界面。
进一步的,所述控制器获取用户控制指令,所述控制指令至少包括列标识包括:
控制器根据用户操作生成控制指令,所述控制指令包括:列隐藏指令或列显示指令。
进一步的,所述控制器根据所述控制指令发布属性改变事件包括:
当所述控制指令为列隐藏指令时,所述控制器设置列标识对应列hidden为true,并发布属性改变事件;
当所述控制指令为列显示指令时,所述控制器设置列标识对应列hidden为false,并发布属性改变事件。
进一步的,所述第一列模型监听到属性改变事件后,根据列标识在第二列模型中找到对应列,并进行对应操作包括:
所述第一列模型通过监听器监听到属性改变事件后,根据列标识在第二列模型中找到对应列;
当所述属性改变事件对应的列hidden为true时,删除第二列模型中对应列;
当所述属性改变事件对应的列hidden为false时,向第二列模型提供对应列。
进一步的,所述第一列模型监听到属性改变事件后,根据列标识在第二列模型中找到对应列,并进行对应操作包括:
第一列模型监听到属性改变事件后,根据列标识在作为代理列模型的第二列模型中找到对应列,并进行对应操作。
本发明还提供了一种表格组件处理装置,包括控制器、第一列模型和第二列模型:
所述控制器,用于获取用户控制指令,所述控制指令至少包括列标识;根据所述控制指令发布属性改变事件,所述属性改变事件对应所述列标识;
所述第一列模型,用于监听到所述属性改变事件后,根据列标识在所述第二列模型中找到对应列,并进行对应操作;
所述第二列模型,用于根据操作后的列数据通知所述控制器刷新界面。
进一步的,所述控制器获用于:
根据用户操作生成控制指令,所述控制指令包括:列隐藏指令或列显示指令。
进一步的,所述控制器还用于:
当所述控制指令为列隐藏指令时,设置列标识对应列hidden为true,并发布属性改变事件;
当所述控制指令为列显示指令时,设置列标识对应列hidden为false,并发布属性改变事件。
进一步的,所述第一列模型还用于:
通过监听器监听到属性改变事件后,根据列标识在第二列模型中找到对应列;
当所述属性改变事件对应的列hidden为true时,删除第二列模型中对应列;
当所述属性改变事件对应的列hidden为false时,向第二列模型提供对应列。
进一步的,所述第二列模型为第一列模型的代理列模型。
与现有技术相比,本申请包括以下优点:本发明实施例通过一个代理的列模型提供给控制器不包括隐藏列的数据,控制器刷新显示界面时因为获得的数据不包含隐藏列的数据,所以实现真正的列隐藏,提高了用户体验。
附图说明
图1是本发明一种表格组件处理方法一实施例的流程示意图;
图2是本发明一种表格组件处理装置一实施例的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请一种表格组件处理方法,包括:
在本发明实施例中,为第一列模型设置一个代理列模型即第二列模型。
本发明实施例主要用来控制Java Swing表格组件中列的隐藏和显示。
步骤S101、控制器获取用户控制指令,所述控制指令至少包括列标识;
进一步的,所述控制器获取用户控制指令,所述控制指令至少包括列标识包括:
控制器根据用户操作生成控制指令,所述控制指令包括:列隐藏指令或列显示指令。
当用户需要隐藏java swing组件中JTable(表格)组件中某一列隐藏或者显示时,可以通过相应操作,此时控制器获取到根据用户操作生成的控制指令,该控制指令至少包括用户需要隐藏的目标列的列标识,以及针对该目标列的操作方式(隐藏或显示)。
步骤S102、控制器根据所述控制指令发布属性改变事件,所述属性改变事件对应所述列标识;
进一步的,所述控制器根据所述控制指令发布属性改变事件包括:
当所述控制指令为列隐藏指令时,所述控制器设置列标识对应列hidden为true,并发布属性改变事件;
当所述控制指令为列显示指令时,所述控制器设置列标识对应列hidden为false,并发布属性改变事件。
当用户控制指令对应操作为隐藏时,控制器根据列标识查找到对应列的hidden,并修改该hidden为true然后发布属性改变事件,当用户控制指令对应操作为显示时控制器根据列标识查找到对应列的hidden,并修改该hidden为false然后发布属性改变事件。
步骤S103、第一列模型监听到所述属性改变事件后,根据列标识在第二列模型中找到对应列,并进行对应操作;
进一步的,所述第一列模型监听到属性改变事件后,根据列标识在第二列模型中找到对应列,并进行对应操作包括:
所述第一列模型通过监听器监听到属性改变事件后,根据列标识在第二列模型中找到对应列;
当所述属性改变事件对应的列hidden为true时,删除第二列模型中对应列;
当所述属性改变事件对应的列hidden为false时,向第二列模型提供对应列。
进一步的,所述第一列模型监听到属性改变事件后,根据列标识在第二列模型中找到对应列,并进行对应操作包括:
第一列模型监听到属性改变事件后,根据列标识在作为代理列模型的第二列模型中找到对应列,并进行对应操作。
第一列模型通过监听器监听控制器,当控制器发布属性改变事件时,第一列模型通过监听器获知该属性改变事件,然后根据该属性改变事件进行操作。需要说明的是,第二列模型是第一列模型的代理,所以第一列模型获知属性改变事件后,根据列标识在第二列模型中找到对应列并进行对应操作。
步骤S104、第二列模型根据操作后的列数据通知控制器刷新界面。
第一列模型对第二列模型的数据进行删除或者添加后,第二列模型根据删除或添加后的数据通知控制器刷新界面,在隐藏操作中,控制器因为获取的数据中是不包含目标列数据的,所以当控制器刷新界面时,因为没有目标列数据所以界面就不会显示目标列数据,实现了真正的列隐藏。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明还提供了一种表格组件处理装置,包括控制器21、第一列模型22和第二列模型23:
所述控制器21用于获取用户控制指令,所述控制指令至少包括列标识;根据所述控制指令发布属性改变事件,所述属性改变事件对应所述列标识;
所述第一列模型22,用于监听到所述属性改变事件后,根据列标识在所述第二列模型23中找到对应列,并进行对应操作;
所述第二列模型23,用于根据操作后的列数据通知所述控制器21刷新界面。
进一步的,所述控制器21获用于:
根据用户操作生成控制指令,所述控制指令包括:列隐藏指令或列显示指令。
进一步的,所述控制器21还用于:
当所述控制指令为列隐藏指令时,设置列标识对应列hidden为true,并发布属性改变事件;
当所述控制指令为列显示指令时,设置列标识对应列hidden为false,并发布属性改变事件。
进一步的,所述第一列模型22还用于:
通过监听器监听到属性改变事件后,根据列标识在第二列模型23中找到对应列;
当所述属性改变事件对应的列hidden为true时,删除第二列模型23中对应列;
当所述属性改变事件对应的列hidden为false时,向第二列模型23提供对应列。
进一步的,所述第二列模型23为第一列模型22的代理列模型。
当用户需要隐藏swing组件中JTable(表格)组件中某一列隐藏或者显示时,可以通过相应操作,此时控制器21获取到根据用户操作生成的控制指令,该控制指令至少包括用户需要隐藏的目标列的列标识,以及针对该目标列的操作方式(隐藏或显示)。
当用户控制指令对应操作为隐藏时,控制器21根据列标识查找到对应列的hidden,并修改该hidden为true然后发布属性改变事件,当用户控制指令对应操作为显示时,控制器21根据列标识查找到对应列的hidden,并修改该hidden为false然后发布属性改变事件。
第一列模型22通过监听器监听控制器21,当控制器21发布属性改变事件时,第一列模型22通过监听器获知该属性改变事件,然后根据该属性改变事件进行操作。需要说明的是,第二列模型23是第一列模型22的代理,所以第一列模型22获知属性改变事件后,根据列标识在第二列模型23中找到对应列并进行对应操作。
第一列模型22对第二列模型23的数据进行删除或者添加后,第二列模型23根据删除或添加后的数据通知控制器21刷新界面,在隐藏操作中,控制器21因为获取的数据中是不包含目标列数据的,所以当控制器21刷新界面时,因为没有目标列数据所以界面就不会显示目标列数据,实现了真正的列隐藏。
以上对本申请所提供的一种表格组件处理方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种表格组件处理方法,其特征在于,包括:
控制器获取用户控制指令,所述控制指令至少包括列标识;
所述控制器根据所述控制指令发布属性改变事件,所述属性改变事件对应所述列标识;
第一列模型监听到所述属性改变事件后,根据列标识在第二列模型中找到对应列,并进行对应操作;
第二列模型根据操作后的列数据通知控制器刷新界面。
2.根据权利要求1所述的方法,其特征在于,所述控制器获取用户控制指令,所述控制指令至少包括列标识包括:
控制器根据用户操作生成控制指令,所述控制指令包括:列隐藏指令或列显示指令。
3.根据权利要求2所述的方法,其特征在于,所述控制器根据所述控制指令发布属性改变事件包括:
当所述控制指令为列隐藏指令时,所述控制器设置列标识对应列hidden为true,并发布属性改变事件;
当所述控制指令为列显示指令时,所述控制器设置列标识对应列hidden为false,并发布属性改变事件。
4.根据权利要求3所述的方法,其特征在于,所述第一列模型监听到属性改变事件后,根据列标识在第二列模型中找到对应列,并进行对应操作包括:
所述第一列模型通过监听器监听到属性改变事件后,根据列标识在第二列模型中找到对应列;
当所述属性改变事件对应的列hidden为true时,删除第二列模型中对应列;
当所述属性改变事件对应的列hidden为false时,向第二列模型提供对应列。
5.根据权利要求1所述的方法,其特征在于,所述第一列模型监听到属性改变事件后,根据列标识在第二列模型中找到对应列,并进行对应操作包括:
第一列模型监听到属性改变事件后,根据列标识在作为代理列模型的第二列模型中找到对应列,并进行对应操作。
6.一种表格组件处理装置,其特征在于,包括控制器、第一列模型和第二列模型:
所述控制器,用于获取用户控制指令,所述控制指令至少包括列标识;根据所述控制指令发布属性改变事件,所述属性改变事件对应所述列标识;
所述第一列模型,用于监听到所述属性改变事件后,根据列标识在所述第二列模型中找到对应列,并进行对应操作;
所述第二列模型,用于根据操作后的列数据通知所述控制器刷新界面。
7.根据权利要求6所述的方法,其特征在于,所述控制器获用于:
根据用户操作生成控制指令,所述控制指令包括:列隐藏指令或列显示指令。
8.根据权利要求7所述的方法,其特征在于,所述控制器还用于:
当所述控制指令为列隐藏指令时,设置列标识对应列hidden为true,并发布属性改变事件;
当所述控制指令为列显示指令时,设置列标识对应列hidden为false,并发布属性改变事件。
9.根据权利要求8所述的方法,其特征在于,所述第一列模型还用于:
通过监听器监听到属性改变事件后,根据列标识在第二列模型中找到对应列;
当所述属性改变事件对应的列hidden为true时,删除第二列模型中对应列;
当所述属性改变事件对应的列hidden为false时,向第二列模型提供对应列。
10.根据权利要求5所述的方法,其特征在于,所述第二列模型为第一列模型的代理列模型。
CN201310251288.5A 2013-06-18 2013-06-18 一种表格组件处理方法和装置 Active CN104239022B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310251288.5A CN104239022B (zh) 2013-06-18 2013-06-18 一种表格组件处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310251288.5A CN104239022B (zh) 2013-06-18 2013-06-18 一种表格组件处理方法和装置

Publications (2)

Publication Number Publication Date
CN104239022A true CN104239022A (zh) 2014-12-24
CN104239022B CN104239022B (zh) 2018-04-10

Family

ID=52227170

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310251288.5A Active CN104239022B (zh) 2013-06-18 2013-06-18 一种表格组件处理方法和装置

Country Status (1)

Country Link
CN (1) CN104239022B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106610925A (zh) * 2015-10-26 2017-05-03 北京国双科技有限公司 网页表格的显示方法及装置
CN108182189A (zh) * 2016-12-08 2018-06-19 中国石油天然气集团公司 材料表文件生成方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1805431A (zh) * 2005-01-12 2006-07-19 北京航空航天大学 远程门户组件的Web服务处理系统
CN101976234A (zh) * 2010-09-21 2011-02-16 用友软件股份有限公司 表格数据展示装置和方法
CN102043626A (zh) * 2010-12-23 2011-05-04 中国农业银行股份有限公司 extjs组件的封装方法及装置、用户界面的生成方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1805431A (zh) * 2005-01-12 2006-07-19 北京航空航天大学 远程门户组件的Web服务处理系统
CN101976234A (zh) * 2010-09-21 2011-02-16 用友软件股份有限公司 表格数据展示装置和方法
CN102043626A (zh) * 2010-12-23 2011-05-04 中国农业银行股份有限公司 extjs组件的封装方法及装置、用户界面的生成方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TERRYZERO: "疯狂JAVA讲义---第十二章:Swing编程(八)JTable表格", 《CSDN博客》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106610925A (zh) * 2015-10-26 2017-05-03 北京国双科技有限公司 网页表格的显示方法及装置
CN108182189A (zh) * 2016-12-08 2018-06-19 中国石油天然气集团公司 材料表文件生成方法及装置

Also Published As

Publication number Publication date
CN104239022B (zh) 2018-04-10

Similar Documents

Publication Publication Date Title
CN103067569B (zh) 一种智能手机多窗口显示方法和装置
TWI604368B (zh) Data processing method and device
MY186876A (en) Interface data displaying method and device
CN104615538A (zh) 一种基于手机界面控件元素的手机应用测试方法
WO2017028611A1 (zh) 一种表单实现方法及装置
CN105867944B (zh) Web前端数据操作层及其实现方法
CN103631877A (zh) 网页表格的处理方法
CN103064667A (zh) 一种基于JavaScript扩展控制硬件设备的方法
CN110532159A (zh) 数据监听方法、装置、设备及计算机可读存储介质
CN103064682A (zh) 面向设备的人机界面组态设计方法
CN104346762A (zh) 大型ota与酒店供应商对接通讯方法
CN105608078B (zh) 一种网页页面实时预览的方法和装置
CN104239022A (zh) 一种表格组件处理方法和装置
CN104346397B (zh) 基于异步请求页面的切换方法和系统
CN103440197B (zh) 一种基于对比测试自动生成差异测试报告的方法
CN104834715A (zh) 一种基于部件和容器的网站生成方法及系统
CN102929636B (zh) 一种人机交互界面创建方法和装置
CN103561113B (zh) Web Service接口的生成方法及装置
CN103164409A (zh) 一种网络广告展现样式后验方法及系统
WO2016201813A1 (zh) 一种基于Android的动态布局方法及系统
CN102129468B (zh) 一种可定制集群状态展现的方法
CN104407853A (zh) 一种实现table多行同时编辑的方法
CN104615349A (zh) 一种信息处理的方法及电子设备
CN104239025B (zh) 一种表格固定前置处理方法和装置
WO2018205390A1 (zh) 一种控件布局显示控制方法、系统、装置及计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Pan Xuewen

Inventor after: Jia Xibei

Inventor before: Pan Xuewen

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: PAN XUEWEN TO: PAN XUEWEN JIA XIBEI

GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 518000 2203/2204, Building 1, Huide Building, Beizhan Community, Minzhi Street, Longhua District, Shenzhen, Guangdong

Patentee after: SHENZHEN AUDAQUE DATA TECHNOLOGY Ltd.

Address before: 518057, Room 713, Software Building, No. 9, Gaoxin Middle 1st Road, High tech Zone, Nanshan District, Shenzhen, Guangdong Province

Patentee before: SHENZHEN AUDAQUE DATA TECHNOLOGY Ltd.