簡體   English   中英

將超鏈接添加為TableItem SWT

[英]Add hyperlink as a TableItem SWT

如何將超鏈接添加到SWT表?

我需要一個具有普通TableItem對象作為其行的表,但是有時我需要在其中具有超鏈接,以便某人可以單擊它以從應用程序級別打開鏈接的頁面。

有關如何實現此目標的任何提示?

這是我對您的問題的回答:添加一個Hyperlink而不是Button

SWT-Tableviewer將刪除按鈕添加到表中的列

作為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM