是否可以使用不同高度的线条生成SWT树?
曼努埃尔
答案 0 :(得分:3)
在SWT树或表中,项目的高度不同。如果您需要使每个行的高度不同,则必须使用自定义窗口小部件,例如KTable或nebula grid。
答案 1 :(得分:0)
嗯,您当然可以在问题setFont()
上调用TreeItem
,并为其提供比其他TreeItem
行使用的字体更大的字体。但是,这可能不是您想要的......在Tree
中有多种字体大小。
另一个更糟糕的替代方法可能是在setImage()
上使用TreeItem
方法...为每一行设置一个白色(或其他)背景图像,使用更高的行使用比较短的行更大的图像。
第二种方法可以在不更改字体的情况下为您提供自定义行高,但您可能希望确保选择与系统默认背景颜色相同颜色的背景图像。也许您甚至可以在内存中以编程方式创建Image
对象以确保这一点。
答案 2 :(得分:0)
至少在使用GTK的Linux下,以下使第一个TreeItem比另一个更大:
tree.addListener(SWT.MeasureItem, new Listener() {
boolean first = true;
public void handleEvent(Event event) {
if (event.item instanceof TreeItem) {
if (first) {
event.height = event.height * 3;
first = false;
}
}
}
});
但似乎树项目的最小大小,所以如果尝试设置较小,则无效。