[发明专利]一种SWT的UI控件渲染改进方法、电子设备与存储介质在审
申请号: | 202310600498.4 | 申请日: | 2023-05-25 |
公开(公告)号: | CN116594619A | 公开(公告)日: | 2023-08-15 |
发明(设计)人: | 谢磊;田羽;张亮 | 申请(专利权)人: | 合肥图哇科技有限公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;G06T11/00;G06T11/60 |
代理公司: | 合肥正则元起专利代理事务所(普通合伙) 34160 | 代理人: | 韩立峰 |
地址: | 230088 安徽省合肥市中国(安徽)自由贸易试验区合肥*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 swt ui 控件 渲染 改进 方法 电子设备 存储 介质 | ||
本发明公开了一种SWT的UI控件渲染改进方法、电子设备与存储介质。获取待创建的复合控件的控件元素列表与各控件元素的平面连接关系;设置承载复合控件的目标容器的容器属性以及各控件元素的元素属性;根据各控件元素的平面连接关系通过GC画笔绘制复合控件,将复合控件保存到目标容器。通过GC画笔绘制复合控件,各控件元素采用平面连接关系连接,各控件元素并行设置不存在嵌套关系,因此不会存在鼠标移入/移出时的闪烁问题,各控件元素可以并行渲染,极大提升了界面渲染效率。
技术领域
本发明涉及计算机技术领域,具体涉及一种SWT的UI控件渲染改进方法、电子设备与存储介质。
背景技术
使用SWT开发用户界面,常规的方式是使用布局(Layout)来管理复合控件(Composite)中子控件的位置和大小。
但是在Windows系统下,存在以下问题,严重影响用户体验。在监听鼠标移入/移出事件时,由于SWT的技术限制,需要对复合控件内的嵌套的所有子控件都进行监听,这导致鼠标在控件上移动时,各个子控件频繁执行其移入/移出事件,界面闪烁严重。而且,由于其采用嵌套结构,导致各子控件进行界面渲染时需要根据嵌套关系依次进行,在有大量条目的列表界面渲染效率特别低,例如,当复合控件包含20项条目,每个条目包含3个子控件,渲染耗时超过300ms甚至500ms,并且耗时随着条目的增加呈线性增长,卡顿明显。
发明内容
本发明的目的就在于解决上述背景技术的问题,而提出一种SWT的UI控件渲染改进方法、电子设备与存储介质。
本发明的目的可以通过以下技术方案实现:
本发明实施例提供了一种SWT的UI控件渲染改进方法,所述方法包括:
获取待创建的复合控件的控件元素列表与各控件元素的平面连接关系;
设置承载所述复合控件的目标容器的容器属性以及各控件元素的元素属性;
根据各控件元素的平面连接关系通过GC画笔绘制所述复合控件,将所述复合控件保存到所述目标容器。
可选的,所述目标容器的容器属性包括在各种目标状态下的背景颜色、边框颜色、边距、圆角模式、圆角大小、气泡提示、子元素对齐方式、点击事件中的至少一种。
可选的,各控件元素的元素属性包括在各种目标状态下的元素类型、字体大小、字体颜色、图片、alpha值、左间距、气泡提示、点击事件中的至少一种。
可选的,目标状态包括常态、鼠标移至控件之上、选中、禁用中的至少一种。
可选的,所述方法还包括:
当复合控件大小发生改变时,调用第一预设数组和第二预设数组,根据所述第一预设数组和所述第二预设数组计算每一个控件元素的宽度和高度。所述第一预设数组保存有控件元素的宽度,所述第二预设数组保存有控件元素的高度。
可选的,控件元素包括图片元素和文字元素;
若控件元素为图片元素,则从所述第一预设数组和所述第二预设数组查找对应宽度和高度;
若控件元素为文字元素,如果文字元素定义成文本字符串的实际宽度,则按照字体大小计算文本字符串需要占用的宽度,或者,如果文字元素定义是填充剩下的空间,则等全部元素都计算完毕后,计算出剩余的宽度,重新赋值给该文字元素。
可选的,所述方法还包括:
当所述复合控件的目标状态发生改变时,根据目标状态对应的设置重新计算各子元素的宽度。
可选的,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥图哇科技有限公司,未经合肥图哇科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310600498.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种耳鼻喉综合诊疗系统
- 下一篇:检测方法、检测装置和监控系统