如何缩放 SWT TableItem 中的图像?

问题描述 投票:0回答:2

我一直在努力让 SWT TableItem 中显示的图像能够缩放。我有一个可以正确缩放字体的侦听器,并且我已确认设置到 TableItem 中的图像已正确缩放。我知道缩放后的图像已成功设置到 TableItem 中,因为我什至可以更改显示的图像。但新图像始终以原始比例显示。

我已阅读 SWT:标准小部件工具包,第 1 卷,其中作者指出:

第一张图片定义了尺寸 控件中的所有图像

由于Windows的限制,就像 工具栏、选项卡文件夹和树、表格 将其显示的图像缩放为 插入的第一张图像的大小 进入控制。

我看到的行为是这句话所建议的最极端的情况 - 表中的图像似乎正在缩放,不是表中第一个图像的大小,而是第一个图像的大小已在表中。有谁能证实或反驳这一点吗?有谁有关于 TableItems 中图像行为的更详细信息?这个限制真的像看上去那样令人窒息吗?

特别是,如果我沿着自定义绘图表项目(自定义绘图表和树项目)的路径走下去,我是否可能会遇到任何进一步的阻碍?

(你会注意到,即使在使用所谓的跨平台开发环境时,我也咬紧牙关,没有因为必须处理 Windows 的愚蠢而愤怒,做得多么好!)

java swt jface
2个回答
0
投票

我可以根据我在 Windows 上的经验来确认这一点。

我提出两种解决方案之一:

  • 按照您提到的链接使用自定义表格绘图。这有点烦人,但我想说学习和实施它的时间不会超过 2 小时。
  • 使用替代的 SWT 表控件,例如Nebula GridKTable 与 Windows 上的 Table 不具有相同的平台限制

编辑:回应“特别是,如果我沿着自定义绘图表项目(自定义绘图表和树项目)的路径走下去,我是否可能会遇到任何进一步的阻碍?”

我发现自定义绘图的唯一问题是最好提前知道最大行高是多少,否则当表格必须增加行高时会出现跳跃,因此在重新调整时稍微滚动项目


0
投票

感谢您提供这些最有用的信息。我对不同的树项目的不同图标(图像)有类似的问题。让它们都具有相同的大小(使用 GIMP 等程序)解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.