0

viewer.getControl().addListener(SWT.MeasureItem, new Listener() {

            @Override
            public void handleEvent(Event event) {
                TreeItem item = (TreeItem)event.item;
                String text = getText(item, event.index);
                Point size = event.gc.textExtent(text);
                event.width = size.x;
                event.height = Math.max(event.height, size.y);
            }
        });

在上面的代码片段中,添加了监听器,但它根本没有进入 handleEvent 方法。

4

1 回答 1

1

对于 TreeViewer,不要尝试添加侦听器,因为这会干扰查看器的操作。

要自己绘制线条,请使用扩展OwnerDrawLabelProvider和实现measure,erasepaint方法的标签提供程序。

于 2015-04-20T16:20:33.567 回答