添加超链接作为TableItem SWT

时间:2012-09-25 13:56:39

标签: java hyperlink swt

如何添加指向SWT表的超链接?

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

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

2 个答案:

答案 0 :(得分:0)

以下是我对您的问题的回答:而不是Button,请添加Hyperlink

SWT - Tableviewer adding a remove button to a column in the table

答案 1 :(得分:0)

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

以下是一个例子:

// 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);
        }
    }
});