SWT树项目高度

时间:2010-10-04 12:48:13

标签: java eclipse swt

是否可以使用不同高度的线条生成SWT树?

曼努埃尔

3 个答案:

答案 0 :(得分:3)

在SWT树或表中,项目的高度不同。如果您需要使每个行的高度不同,则必须使用自定义窗口小部件,例如KTablenebula 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;
            }
        }
    }
});

但似乎树项目的最小大小,所以如果尝试设置较小,则无效。