如何在SWT TableItem中缩放图像?

时间:2010-11-06 17:57:25

标签: java swt jface

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

我已在SWT: The Standard Widget Toolkit, Volume 1中读到作者陈述的内容:

  

第一张图片定义的大小   控件中的所有图像

     

由于Windows的限制,就像   工具栏,TabFolder和树,表   缩放它显示的图像   插入的第一个图像的大小   进入控制。

我看到的行为是这句话所暗示的最极端的情况 - 表格中的图像似乎是缩放的,而不是表格中第一张图片的大小,而是第一张图片的大小永远都在桌子上。任何人都可以确认或反驳这个吗?有没有人有关于TableItems中图像行为的更详细信息?这种限制真的是它似乎的阻碍吗?

特别是,如果我走自定义绘图表项(Custom Drawing Table and Tree Items)的路径,我是否可能碰到任何进一步的showstoppers?

(你会注意到我正在做的一件好事,即使在使用所谓的跨平台开发环境时,我仍然不得不在处理Windows愚蠢问题时让位于愤怒!)

1 个答案:

答案 0 :(得分:0)

我可以在Windows上体验这一点。

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

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

编辑:响应“特别是,如果我走自定义绘图表项目(自定义绘图表和树项目)的路径,我是否可能碰到任何进一步的showstoppers?”

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