[英]Add hyperlink as a TableItem SWT
如何將超鏈接添加到SWT表?
我需要一個具有普通TableItem對象作為其行的表,但是有時我需要在其中具有超鏈接,以便某人可以單擊它以從應用程序級別打開鏈接的頁面。
有關如何實現此目標的任何提示?
這是我對您的問題的回答:添加一個Hyperlink
而不是Button
。
作為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);
}
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.