项目功能扩展方法、装置、电子设备和计算机可读介质制造方法及图纸

技术编号:25223186 阅读:9 留言:0更新日期:2020-08-11 23:12
本申请实施例公开了项目功能扩展方法、装置、电子设备和计算机可读介质。该方法的实施例包括:获取目标项目对应的视图树,遍历该视图树中的第一节点和第二节点,第一节点为处理点击事件的节点,第二节点为处理触屏滑动事件的节点;从所遍历到的第二节点中,确定各第一节点的最近祖先第二节点;将存在最近祖先第二节点的各第一节点的点击事件监听操作移除,并将所移除的点击事件监听操作转移至相应的最近祖先第二节点,以使所述目标项目支持触屏滑动操作。该实施方式可以在不改动事件传递的机制且兼容原有的功能的情况下,快捷方便地实现项目对触屏滑动操作的支持。

【技术实现步骤摘要】
项目功能扩展方法、装置、电子设备和计算机可读介质
本申请实施例涉及计算机
,具体涉及项目功能扩展方法、装置、电子设备和计算机可读介质。
技术介绍
随着计算机技术的发展,触屏设备应运而生。对于触屏设备,可使用触屏方式代替使用键盘、鼠标等方式进行人机交互,从而提高人机交互的便捷性。然而,目前的一些原生Java项目,如Swing项目等,通常仅支持键盘鼠标滚动操作,不支持触屏滑动操作,因而无法直接适用于如手机、平板电脑等触屏设备。不支持触屏滑动操作的原生Java项目,其事件的处理机制通常是从视图树的叶子节点向根节点单向传递,若使该原生Java项目支持触屏滑动操作,现有的方式通常需要修改原生Java项目的事件传递机制。在事件传递机制修改过程中,易造成与项目中现有的功能特性的冲突,导致对原有功能的兼容性价差。同时,修改事件传递机制的方式,开发量加大,导致开发效率较低。
技术实现思路
本申请实施例提出了项目功能扩展方法、装置、电子设备和计算机可读介质,以在不改动事件传递的机制且兼容原有的功能的情况下,快捷方便地实现项目对触屏滑动操作的支持。第一方面,本申请实施例提供了一种项目功能扩展方法,该方法包括:获取目标项目对应的视图树,遍历视图树中的第一节点和第二节点,第一节点为处理点击事件的节点,第二节点为处理触屏滑动事件的节点;从所遍历到的第二节点中,确定各第一节点的最近祖先第二节点;将存在最近祖先第二节点的各第一节点的点击事件监听操作移除,并将所移除的点击事件监听操作转移至相应的最近祖先第二节点,以使目标项目支持触屏滑动操作。第二方面,本申请实施例提供了一种项目功能扩展装置,该装置包括:遍历单元,被配置成获取目标项目对应的视图树,遍历视图树中的第一节点和第二节点,第一节点为处理点击事件的节点,第二节点为处理触屏滑动事件的节点;确定单元,被配置成从所遍历到的第二节点中,确定各第一节点的最近祖先第二节点;更新单元,被配置成将存在最近祖先第二节点的各第一节点的点击事件监听操作移除,并将所移除的点击事件监听操作转移至相应的最近祖先第二节点,以使目标项目支持触屏滑动操作。第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中所描述的方法。第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中所描述的方法。本申请实施例提供的项目功能扩展方法、装置、电子设备和计算机可读介质,通过获取目标项目(如不支持触屏滑动操作的原生Java项目)对应的视图树,而后遍历该视图树中的第一节点和第二节点,之后从所遍历到的第二节点中,确定各第一节点的最近祖先第二节点,最后将存在最近祖先第二节点的各第一节点的点击事件监听操作移除,并将所移除的点击事件监听操作转移至相应的最近祖先第二节点,从而使目标项目支持该触屏滑动操作。由于第一节点为处理点击事件的节点,第二节点为处理触屏滑动事件的节点,且由于触屏滑动事件或者触屏滑动事件序列是由点击操作开始的,因而,将每一个第一节点的点击事件监听操作转由该第一节点的最近祖先第二节点执行,即可通过该最近祖先第二节点获取到点击事件,从而进行后续的触屏滑动操作。从而,可使改进后的目标项目支持该触屏滑动操作。由此,在不改动事件传递的机制且兼容原有的功能的情况下,快捷方便地实现了项目对触屏滑动操作的支持。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是根据本申请的项目功能扩展方法的一个实施例的流程图;图2是根据本申请的项目功能扩展方法的视图树的示意图;图3是根据本申请的项目功能扩展方法的标记有第一节点和第二节点的视图树的示意图;图4是根据本申请的项目功能扩展方法的转移点击事件监听操作的示意图;图5是根据本申请的项目功能扩展方法的又一个实施例的流程图;图6是根据本申请的项目功能扩展方法的第一二叉树模型的示意图;图7是根据本申请的项目功能扩展方法的标记有第一节点和第二节点的第一二叉树模型的示意图;图8是根据本申请的项目功能扩展方法的第二节点的层级树的示意图;图9是根据本申请的项目功能扩展方法的第二二叉树模型的示意图;图10是根据本申请的项目功能扩展方法的对应关系信息记录过程的示意图;图11是根据本申请的项目功能扩展装置的一个实施例的结构示意图;图12是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。请参考图1,其示出了根据本申请的项目功能扩展方法的一个实施例的流程100。该项目功能扩展方法,包括以下步骤:步骤101,获取目标项目对应的视图树,遍历视图树中的第一节点和第二节点。在本实施例中,项目功能扩展方法的执行主体可以是能够进行项目开发的开发设备,如台式计算机、笔记本电脑、服务器等。上述执行主体可以获取目标项目对应的视图树。在本实施例中,目标项目可以是不支持触屏滑动操作的原生Java项目。例如,目标项目可以是Swing项目。Swing项目即为使用Swing开发的项目。实践中,Swing是一个用于开发Java应用程序用户界面的开发工具包。Swing采用Java代码来模拟各种控件(即使用Java自带的作图函数绘制出各种控件)。Swing包括多种用于实现图形用户界面器件,如文本框,按钮,分隔窗格和表等。通过Swing创建图形用户界面程序的第一步是创建一个容器类以容纳其他组件,常见的窗口就是一种容器。容器本身也是一种组件,它的作用就是用来组织、管理和显示其他组件。以目标项目为Swing项目为例,可以通过如下步骤获取视图树:首先,记录目标项目中所创建的第一个容器,该容易可视为一个视图(view)。该视图(view)即为一个根视图(rootView)。而后,可通过递归的getChildViews()命令方式,获取此根视图下的所有子视图,得到视图树。此时,根视图即为视图树中的根节点,其余视图即为根节点下的子节点。以目标项目为Swing项目为例,还可以通过如下步骤获取视图树:首先,通过任意一个视图(可称为viewX),重复调用getParentView()命令,递归获取父视图,从而得到根视图。可通过递归的getChildViews()命令方式,获取此根视图下的所有子视图,得到视图树。此时,根视图即为视图树中的根节点,其余视图即为根节点下的子节点。作本文档来自技高网...

【技术保护点】
1.一种项目功能扩展方法,其特征在于,所述方法包括:/n获取目标项目对应的视图树,遍历所述视图树中的第一节点和第二节点,所述第一节点为处理点击事件的节点,所述第二节点为处理触屏滑动事件的节点;/n从所遍历到的第二节点中,确定各第一节点的最近祖先第二节点;/n将存在最近祖先第二节点的各第一节点的点击事件监听操作移除,并将所移除的点击事件监听操作转移至相应的最近祖先第二节点,以使所述目标项目支持触屏滑动操作。/n

【技术特征摘要】
1.一种项目功能扩展方法,其特征在于,所述方法包括:
获取目标项目对应的视图树,遍历所述视图树中的第一节点和第二节点,所述第一节点为处理点击事件的节点,所述第二节点为处理触屏滑动事件的节点;
从所遍历到的第二节点中,确定各第一节点的最近祖先第二节点;
将存在最近祖先第二节点的各第一节点的点击事件监听操作移除,并将所移除的点击事件监听操作转移至相应的最近祖先第二节点,以使所述目标项目支持触屏滑动操作。


2.根据权利要求1所述的方法,其特征在于,所述遍历所述视图树中的第一节点和第二节点,包括:
将所述视图树转换为第一二叉树模型;
遍历所述第一二叉树模型中的第一节点和第二节点。


3.根据权利要求2所述的方法,其特征在于,所述从所遍历到的第二节点中,确定各第一节点的最近祖先第二节点,包括:
基于所述第一二叉树模型中的第二节点,构建第二节点的层级树;
将所述层级树转换为第二二叉树模型;
遍历所述第一二叉树模型中的各第一节点的最近祖先第二节点,得到各第一节点与对应的最新祖先第二节点的对应关系信息;
遍历所述第二二叉树模型中的第二节点,对于所遍历的每一个第二节点,在该第二节点中,记录涉及到该第二节点的对应关系信息。


4.根据权利要求3所述的方法,其特征在于,所述将存在最近祖先第二节点的各第一节点的点击事件监听操作移除,并将所移除的点击事件监听操作转移至相应的最近祖先第二节点,包括:
遍历所述第二二叉树模型中的第二节点,对于所遍历到的每一个第二节点,基于该第二节点中所记录的对应关系信息,确定与该第二节点具有对应关系的目标第一节点,移除所述目标第一节点的点击事件监听操作,并将所移除的点击事件监听操作添加至该第二节点。


5.根据权利要求4所述的方法,其特征在于,在所述将所移除的点击事件监听操...

【专利技术属性】
技术研发人员:黄林
申请(专利权)人:北京三快在线科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1