如何正确地使我的jface ITableTabelProvider图像缩放

时间:2009-06-26 12:24:03

标签: swt

SWT如何解决如何在表格中缩放图像?

我正在使用ITableLabelProvider为SWT表提供图像。

我最近将表格列从140扩展到170,并且我扩展了从ITableLabelProvider传递的Image对象。

SWT现在将这个170像素的图像缩小到140像素,并在右侧显示30个像素的空白文本。 我已经取出了我所知道的旧宽度的所有引用。

其他单元格仅包含文本,这些单元格表现完全正确。 TableItem,Column和Image宽度绝对都是170。

我在Windows XP上运行swt3.3和jface 3.4.2。

我有一个解决方法,它监听表上的SWT.PaintItem事件,然后将图像直接绘制到Paint事件的Graphics上下文中。 这似乎可以解决这个问题,但它真的让我烦恼,因为我不明白如何使更优雅的解决方案发挥作用。

1 个答案:

答案 0 :(得分:3)

现在我明白了。

看看这个 http://dev.eclipse.org/newslists/news.eclipse.platform.swt/msg15042.html

插入表格列的第一张图片将决定插入该表格列的所有其他图片的尺寸。

在沉默且难以调试的意义上。你只需知道这个秘密。

我在添加到表格中的第一张图片中添加了30像素的空白区域,现在它的效果非常好。