一种基于JavaSWT组件库容器面板控制方法及装置制造方法及图纸

技术编号:38563412 阅读:10 留言:0更新日期:2023-08-22 21:02
本发明专利技术公开了本发明专利技术实施例提供了一种基于Java SWT组件库容器面板控制方法及装置,涉及计算机技术领域。初始化面板容器底层的面板控件与面板控件上的多个子控件;实时监控鼠标响应事件,并按照预设周期生成鼠标响应事件发生时间段内的响应操作;当面板控件监测到鼠标响应事件,根据响应操作控制显示面板按照鼠标响应事件进行横向滚动;当各个子控件监测到鼠标响应事件,向面板控件传递一份该鼠标响应事件对应的响应操作,以使面板控件根据响应操作控制显示面板按照鼠标响应事件进行横向滚动。通过面板控件与多个子控件同时实时监控鼠标响应事件,面板控件执行自己生成的响应操作并接收执行子控件的响应操作,实现鼠标模仿触屏控制滚动面板滚动。控制滚动面板滚动。控制滚动面板滚动。

【技术实现步骤摘要】
一种基于Java SWT组件库容器面板控制方法及装置


[0001]本专利技术涉及计算机
,具体涉及一种基于Java SWT组件库容器面板控制方法及装置。

技术介绍

[0002]Java的SWT组件库虽然提供了一套丰富的GUI组件,但是却没有提供PC桌面上类似于触屏的左右滑动操作来横向滚动的滚动面板组件,只能是通过传统的点按住面板下端的滚动条实现横向滚动。
[0003]滚动面板作为一个容器,内部拥有其他控件,可能会占满整个面板空间。这样会导致鼠标事件只会触发在面板内显示在最顶层的控件上,面板空间并不会捕获到鼠标事件。导致无法实现鼠标模仿触屏控制滚动面板横向滚动。

技术实现思路

[0004]本专利技术的目的就在于解决上述
技术介绍
的问题,而提出一种基于Java SWT组件库容器面板控制方法及装置。
[0005]本专利技术的目的可以通过以下技术方案实现:
[0006]本专利技术实施例第一方面,提供了一种基于Java SWT组件库容器面板控制方法,所述方法包括:
[0007]初始化面板容器底层的面板控件与所述面板控件上的多个子控件;
[0008]实时监控鼠标响应事件,并按照预设周期生成鼠标响应事件发生时间段内的响应操作;所述预设周期小于鼠标响应事件发生时间段;
[0009]当所述面板控件监测到鼠标响应事件,根据响应操作控制显示面板按照鼠标响应事件进行横向滚动;
[0010]当各个子控件监测到鼠标响应事件,向所述面板控件传递一份该鼠标响应事件对应的响应操作,以使所述面板控件根据响应操作控制显示面板按照鼠标响应事件进行横向滚动。
[0011]可选地,初始化面板容器底层的面板控件与所述面板控件上的多个子控件包括:
[0012]基于org.eclipse.swt.widget.Composite控件,在面板容器的所述面板控件与各子控件中封装滚动条与滚动动作;
[0013]初始化所述面板控件与各子控件,在所述面板控件与各子控件注册封装后的鼠标监听事件;
[0014]在各子控件注册向所述面板控件传输响应操作的指令。
[0015]可选地,在所述面板控件与各子控件注册封装后的鼠标事件具体包括:
[0016]遍历面板容器中的各子组件;
[0017]如果子组件是所述面板控件,递归继续;
[0018]否则,给该子组件注册已封装的子组件的监听事件。
[0019]可选地,实时监测鼠标响应事件,并按照预设周期生成鼠标响应事件发生时间段内的响应操作包括:
[0020]当鼠标左键按下时,记录按下标记和当前鼠标点击的坐标位置;
[0021]鼠标移动时,如果为左键按下状态,则实时记录当前鼠标的坐标位置;
[0022]每个预设周期将鼠标按下时的初始坐标,与当前鼠标坐标比较,确定滚动方向并计算滚动位移,作为该预设周期的响应操作。
[0023]可选地,所述方法还包括:
[0024]鼠标左键抬起时,重置左键按下标记和当前鼠标点击的坐标位置,此后的鼠标移动将不进行滚动监听和操作。
[0025]本专利技术实施例第二方面,还提供了一种基于Java SWT组件库容器面板控制装置,所述装置包括:
[0026]初始化模块,用于初始化面板容器底层的面板控件与所述面板控件上的多个子控件;
[0027]监听模块,用于实时监控鼠标响应事件,并按照预设周期生成鼠标响应事件发生时间段内的响应操作;所述预设周期小于鼠标响应事件发生时间段;
[0028]所述面板控件,用于当监测到鼠标响应事件,根据响应操作控制显示面板按照鼠标响应事件进行横向滚动;
[0029]每一子控件,用于当监测到鼠标响应事件,向所述面板控件传递一份该鼠标响应事件对应的响应操作,以使所述面板控件根据响应操作控制显示面板按照鼠标响应事件进行横向滚动。
[0030]可选地,初始化模块包括封装模块、第一注册模块和第二注册模块;其中:
[0031]所述封装模块,用于基于org.eclipse.swt.widget.Composite控件,在面板容器的所述面板控件与各子控件中封装滚动条与滚动动作;
[0032]所述第一注册模块,用于初始化所述面板控件与各子控件,在所述面板控件与各子控件注册封装后的鼠标监听事件;
[0033]所述第二注册模块,用于在各子控件注册向所述面板控件传输响应操作的指令。
[0034]可选地,所述第一注册模块具体操作流程包括:
[0035]遍历面板容器中的各子组件;
[0036]如果子组件是所述面板控件,递归继续;
[0037]否则,给该子组件注册已封装的子组件的监听事件。
[0038]可选地,所述监听模块包括第一记录模块、第二记录模块和响应操作生成模块,其中:
[0039]所述第一记录模块,用于当鼠标左键按下时,记录按下标记和当前鼠标点击的坐标位置;
[0040]所述第二记录模块,用于鼠标移动时,如果为左键按下状态,则实时记录当前鼠标的坐标位置;
[0041]所述响应操作生成模块,用于每个预设周期将鼠标按下时的初始坐标,与当前鼠标坐标比较,确定滚动方向并计算滚动位移,作为该预设周期的响应操作。
[0042]可选地,所述装置还包括:
[0043]重置模块,用于鼠标左键抬起时,重置左键按下标记和当前鼠标点击的坐标位置,此后的鼠标移动将不进行滚动监听和操作。
[0044]本专利技术的有益效果:
[0045]本专利技术实施例提供了一种基于Java SWT组件库容器面板控制方法,初始化面板容器底层的面板控件与面板控件上的多个子控件;实时监控鼠标响应事件,并按照预设周期生成鼠标响应事件发生时间段内的响应操作;预设周期小于鼠标响应事件发生时间段;当面板控件监测到鼠标响应事件,根据响应操作控制显示面板按照鼠标响应事件进行横向滚动;当各个子控件监测到鼠标响应事件,向面板控件传递一份该鼠标响应事件对应的响应操作,以使面板控件根据响应操作控制显示面板按照鼠标响应事件进行横向滚动。通过面板控件与多个子控件同时实时监控鼠标响应事件,面板控件执行自己生成的响应操作并接收执行子控件的响应操作,实现鼠标模仿触屏控制滚动面板滚动。
附图说明
[0046]下面结合附图对本专利技术作进一步的说明。
[0047]图1为本专利技术实施例提供的一种基于Java SWT组件库容器面板控制方法的流程图;
[0048]图2为本专利技术实施例提供的面板容器注册封装后的鼠标事件的流程图;
[0049]图3为本专利技术实施例提供的实时监测鼠标响应事件的流程图;
[0050]图4为本专利技术实施例提供的一种基于Java SWT组件库容器面板控制装置的结构图。
具体实施方式
[0051]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Java SWT组件库容器面板控制方法,其特征在于,所述方法包括:初始化面板容器底层的面板控件与所述面板控件上的多个子控件;实时监控鼠标响应事件,并按照预设周期生成鼠标响应事件发生时间段内的响应操作;所述预设周期小于鼠标响应事件发生时间段;当所述面板控件监测到鼠标响应事件,根据响应操作控制显示面板按照鼠标响应事件进行横向滚动;当各个子控件监测到鼠标响应事件,向所述面板控件传递一份该鼠标响应事件对应的响应操作,以使所述面板控件根据响应操作控制显示面板按照鼠标响应事件进行横向滚动。2.根据权利要求1所述的一种基于Java SWT组件库容器面板控制方法,其特征在于,初始化面板容器底层的面板控件与所述面板控件上的多个子控件包括:基于org.eclipse.swt.widget.Composite控件,在面板容器的所述面板控件与各子控件中封装滚动条与滚动动作;初始化所述面板控件与各子控件,在所述面板控件与各子控件注册封装后的鼠标监听事件;在各子控件注册向所述面板控件传输响应操作的指令。3.根据权利要求2所述的一种基于Java SWT组件库容器面板控制方法,其特征在于,在所述面板控件与各子控件注册封装后的鼠标事件具体包括:遍历面板容器中的各子组件;如果子组件是所述面板控件,递归继续;否则,给该子组件注册已封装的子组件的监听事件。4.根据权利要求1所述的一种基于Java SWT组件库容器面板控制方法,其特征在于,实时监测鼠标响应事件,并按照预设周期生成鼠标响应事件发生时间段内的响应操作包括:当鼠标左键按下时,记录按下标记和当前鼠标点击的坐标位置;鼠标移动时,如果为左键按下状态,则实时记录当前鼠标的坐标位置;每个预设周期将鼠标按下时的初始坐标,与当前鼠标坐标比较,确定滚动方向并计算滚动位移,作为该预设周期的响应操作。5.根据权利要求4所述的一种基于Java SWT组件库容器面板控制方法,其特征在于,所述方法还包括:鼠标左键抬起时,重置左键按下标记和当前鼠标点击的坐标位置,此后的鼠标移动将不进行滚动监听和操作。6.一种基于Java SWT组件库容器面板控制装置,其特征在于,所述装置包括:初始化模块,...

【专利技术属性】
技术研发人员:谢磊田羽张亮
申请(专利权)人:合肥图哇科技有限公司
类型:发明
国别省市:

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

1