0

如何向 SWT 表添加超链接?

我需要一个以普通 TableItem 对象作为行的表,但有时我需要在那里有一个超链接,以便有人可以单击它从应用程序级别打开链接页面。

关于如何实现这一目标的任何提示?

4

2 回答 2

0

作为 sambi reddy 的答案的替代方案,您可以使用 a StyledCellLabelProvider(如果您切换到 a TableViewer)作为您的列,并使用 aStyledString来表示您的链接。当然,您必须自己处理鼠标事件。

这是一个例子:

// Column for the link
TableViewerColumn col2 = createTableViewerColumn("Link", 100, 1, viewer);
col2.setLabelProvider(new StyledCellLabelProvider() {
    @Override
    public void update(ViewerCell cell)
    {
        Object element = cell.getElement();
        if(element instanceof Person)
        {
            Person person = (Person) cell.getElement();

            /* make text look like a link */
            StyledString text = new StyledString();
            StyleRange myStyledRange = new StyleRange(0, person.getLocation().length(), Display.getCurrent().getSystemColor(SWT.COLOR_BLUE), null);
            myStyledRange.underline = true;
            text.append(person.getLocation(), StyledString.DECORATIONS_STYLER);
            cell.setText(text.toString());

            StyleRange[] range = { myStyledRange };
            cell.setStyleRanges(range);

            super.update(cell);
        }
    }
});
于 2012-09-25T14:41:47.040 回答
0

这是我对您的问题的回答:代替 a Button,添加 a Hyperlink

SWT - Tableviewer 将删除按钮添加到表中的列

于 2012-09-25T14:20:04.797 回答