0

SWTテーブルにハイパーリンクを追加するにはどうすればよいですか?

通常のTableItemオブジェクトを行として持つテーブルが必要ですが、誰かがそれをクリックしてアプリケーションレベルからリンクされたページを開くことができるように、ハイパーリンクが必要になる場合があります。

これを達成するためのヒントはありますか?

4

2 に答える 2

0

sambi reddy の回答の代わりに、StyledCellLabelProvider( a に切り替えた場合TableViewer) を列に使用し、 aを使用し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);
        }
    }
});
于 2012-09-25T14:41:47.040 に答える
0

あなたの質問に対する私の答えは次のとおりButtonですHyperlink

SWT - テーブルの列に削除ボタンを追加する Tableviewer

于 2012-09-25T14:20:04.797 に答える