一种让JComboBox组件具有行为感知能力的方法

文档序号:6571461阅读:324来源:国知局
专利名称:一种让JComboBox组件具有行为感知能力的方法
技术领域
本发明属于Java Swing应用开发领域,可用于所有基于Swing的应用开发,具体地说是一种让JComboBox组件具有行为感知能力的方法背景技术目前,基于Java的桌面应用开发都是基于Java Swing技术或者对Swing的扩展,其简单易用,以及良好的设计模式都使其开发具有很高的效率。为了更为高效的开发基于Swing的桌面应用,无量是Sun还是其他Swing组件厂商,都对其进行了大量的扩展,提供了更多的组件模型如TreeTable,数据感知能力等。但所有这些组件中提供的内容都是设计时定义好,在初始化后,运行时不会自动根据用户的行为进行调整。如JComboBox下拉选型框中的下拉菜单选项的次序是按照组件初试化的时候次序呈现,随后在运行环境中,无论用户怎么选择,其次序都是不会改变。这样对于那些选项比较多的下拉框或要经常进行重复操作的下拉框,使用就很不方便,降低了应用的可用性。其他Swing组件,如Tree,List等,就组件本身而言都是非行为感知的。
而对于现在的桌面应用,越来越强调用户体验,越来越强调用户友好。传统的技术已经明显的不适合或者实现成本比较高和复杂。如果Swing组件能够自身就具有行为感知能力,自我学习用户的操作习惯,必然会降低开发复杂性,也改善桌面应用的可用性。

发明内容
本发明提供一种让JComboBox组件具有行为感知能力的方法,该方法是使原有组件能够感知用户的行为习惯,并根据积累的知识对自身做相应调整,具体实现步骤如下(1)对Swing JComboBox中每个下拉选项增加一个hotpoint属性,用于区别对待每个下拉选项;(2)利用事件机制,增加监听器,监听JComboBox选项的改变情况,用户每次选择都会增加该下拉选项的hotpoint;(3)提供右健菜单,供用户设置当前使用的调整次序的算法。
包括根据热点(hotpoint)逆序调整,最近访问优先,指定次序。默认是hotpoint逆序,且最近访问优先。同时还能设置其他选项,如持久存储位置等。
(4)根据用户的算法设置,对用户的行为做出响应,运行时调整JComboBox下拉选项的次序;(5)自动把该设置持久存储。
本发明的有益效果是提供了可供直接使用的具有行为感知能力的Swing组件,显著提高开发人员的效率,使开发出的产品带给用户良好的使用体验。


图1是扩展组件的模型示意图。
实施方式本发明研究Swing的各个组件,建立行为感知框架,为所有的组件提供可定义的感知能力。以JComboBox为例,详细描述发明内容。为了解决现有JComboBox下拉选项次序不能根据用户的操作习惯自动排列的不足,本发明提供一种具有行为感知能力的JComboBox组件扩展,JComboBoxPa,该新组件不仅能根据用户的点击率自动调整次序,而且提供了预置的参数设置功能,支持持久化存储。
本发明解决其技术问题所采用的技术方案是1.对Swing JComboBox中每个下拉选项增加一个hotpoint属性,用于区别对待每个下拉选项。
2.利用事件机制,增加监听器,监听JComboBox选项的改变情况。用户每次选择都会增加该下拉选项的hotpoint。
3.提供右健菜单,供用户设置当前使用的调整次序的算法。包括根据热点(hotpoint)逆序调整,最近访问优先,指定次序。默认是hotpoint逆序,且最近访问优先。同时还能设置其他选项,如持久存储位置等。
4.根据用户的算法设置,对用户的行为做出响应,运行时调整JComboBox下拉选项的次序。
5.自动把该设置持久存储。
本发明的扩展组件包括(1)JBComboBox是对现有下拉列表组件JComboBox的扩展,使其具有行为感知能力,该能力包括根据用户的操作习惯自动调整显示顺序,改变对齐方式,调整显示数目和自动布局;(2)JBList,是对现有列表组件JList的扩展,使其具有行为感知能力,该能力包括调整顺序,调整显示列表项数目,调整显隐和自动布局;(3)JBTree,是对现有树组件JTree的扩展,使其具有行为感知能力,该能力包括调整顺序,调整展开选择项,调整显示项数目,自动布局;(4)JBTextField,是对现有文本框JTextField的扩展,使其具有行为感知能力,该能力包括自动调整字体相关属性,调整对象缩进方式,自动完成常用词组,自动布局。
具有行为感知能力组件根据预先设定的算法,分析用户的行为意图,通过事件机制,在相关组件之间分享当前操作上下文,多个组件相互感应和通知,但仅限于对当前上下文操作感兴趣的邻近组件,不会广播事件。
具有行为感知能力的组件具有存储功能,对用户的行为进行分析之后,持久化存储,独立形成行为知识库,各个同类组件共享这种能力。
对组件的行为分析结果进行独立存储,根据组件的唯一识别机制来区分不同组件,每个扩展后的组件根据自身特征形成唯一识别码。
邻近组件和邻近组件群的识别机制是根据用户的行为习惯,由系统自动识别出相关组件,从而形成邻近组件群。
行为感知算法是由用户的操作次数,次序,时间以及相关上下文组成的基本算法,也是导入的扩展算法,这些扩展算法是在基本算法的基础上自动学习获得的。
为了共享行为感知能力,所有行为感知规则具有相同的描述方式。
权利要求
1.一种让JComboBox组件具有行为感知能力的方法,其特征在于,使原有组件能够感知用户的行为习惯,并根据积累的知识对自身做相应调整,具体实现步骤如下(1)对Swing JComboBox中每个下拉选项增加一个hotpoint属性,用于区别对待每个下拉选项;(2)利用事件机制,增加监听器,监听JComboBox选项的改变情况,用户每次选择都会增加该下拉选项的hotpoint;(3)提供右健菜单,供用户设置当前使用的调整次序的算法。包括根据热点(hotpoint)逆序调整,最近访问优先,指定次序。默认是hotpoint逆序,且最近访问优先。同时还能设置其他选项,如持久存储位置等。(4)根据用户的算法设置,对用户的行为做出响应,运行时调整JComboBox下拉选项的次序;(5)自动把该设置持久存储。
2.根据权利要求1所述的方法,其特征在于扩展组件包括(1)JBComboBox是对现有下拉列表组件JComboBox的扩展,使其具有行为感知能力,该能力包括根据用户的操作习惯自动调整显示顺序,改变对齐方式,调整显示数目和自动布局;(2)JBList,是对现有列表组件JList的扩展,使其具有行为感知能力,该能力包括调整顺序,调整显示列表项数目,调整显隐和自动布局;(3)JBTree,是对现有树组件JTree的扩展,使其具有行为感知能力,该能力包括调整顺序,调整展开选择项,调整显示项数目,自动布局;(4)JBTextField,是对现有文本框JTextField的扩展,使其具有行为感知能力,该能力包括自动调整字体相关属性,调整对象缩进方式,自动完成常用词组,自动布局。
3.根据权利要求1所述的方法,其特征在于,具有行为感知能力组件根据预先设定的算法,分析用户的行为意图,通过事件机制,在相关组件之间分享当前操作上下文,多个组件相互感应和通知,但仅限于对当前上下文操作感兴趣的邻近组件,不会广播事件。
4.根据权利要求1所述的方法,其特征在于,具有行为感知能力的组件具有存储功能,对用户的行为进行分析之后,持久化存储,独立形成行为知识库,各个同类组件共享这种能力。
5.根据权利要求4所述的方法,其特征在于,对组件的行为分析结果进行独立存储,根据组件的唯一识别机制来区分不同组件,每个扩展后的组件根据自身特征形成唯一识别码。
6.根据权利要求5所述的方法,其特征在于,邻近组件和邻近组件群的识别机制是根据用户的行为习惯,由系统自动识别出相关组件,从而形成邻近组件群。
7.根据权利要求1所述的方法,其特征在于,行为感知算法是由用户的操作次数,次序,时间以及相关上下文组成的基本算法,也是导入的扩展算法,这些扩展算法是在基本算法的基础上自动学习获得的。
8.根据权利要求1所述的方法,其特征在于为了共享行为感知能力,所有行为感知规则具有相同的描述方式。
全文摘要
本发明提供一种让JComboBox组件具有行为感知能力的方法,该方法是使原有组件能够感知用户的行为习惯,并根据积累的知识对自身做相应调整,具体实现步骤如下(1)对Swing JComboBox中每个下拉选项增加一个hotpoint属性,用于区别对待每个下拉选项;(2)利用事件机制,增加监听器,监听JComboBox选项的改变情况,用户每次选择都会增加该下拉选项的hotpoint;(3)提供右健菜单,供用户设置当前使用的调整次序的算法。包括根据热点(hotpoint)逆序调整,最近访问优先,指定次序。默认是hotpoint逆序,且最近访问优先。同时还能设置其他选项,如持久存储位置等。(4)根据用户的算法设置,对用户的行为做出响应,运行时调整JComboBox下拉选项的次序;(5)自动把该设置持久存储。
文档编号G06F9/44GK101067783SQ200710013410
公开日2007年11月7日 申请日期2007年1月30日 优先权日2007年1月30日
发明者刘向东, 庄文君 申请人:浪潮集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1