如何添加指向SWT表的超链接?
我需要一个包含普通TableItem对象的表作为其行,但有时我需要在那里有一个超链接,以便有人可以点击它从应用程序级别打开链接页面。
有关如何实现这一目标的任何提示?
答案 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);
}
}
});