SWT 테이블에 하이퍼 링크를 추가하려면 어떻게합니까?TableItem SWT로 하이퍼 링크 추가
일반 TableItem 개체가있는 테이블을 행으로 사용해야하지만 때로는 거기에 하이퍼 링크가 있어야 사용자가 클릭하여 응용 프로그램 수준에서 링크 된 페이지를 열 수 있습니다.
어떻게해야합니까?
SWT 테이블에 하이퍼 링크를 추가하려면 어떻게합니까?TableItem SWT로 하이퍼 링크 추가
일반 TableItem 개체가있는 테이블을 행으로 사용해야하지만 때로는 거기에 하이퍼 링크가 있어야 사용자가 클릭하여 응용 프로그램 수준에서 링크 된 페이지를 열 수 있습니다.
어떻게해야합니까?
내 대답은 다음과 같습니다. Button
대신 Hyperlink
을 입력하십시오.
SWT - Tableviewer adding a remove button to a column in the table
는 레디의 답변을 sambi 할 수있는 대안으로 사용할 수있는 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);
}
}
});
테이블의 방향이 수직 인 경우 어떻게해야합니까? 행에 대해이 작업을 수행 할 수있는 방법이 있습니까? –
@MarcinKrzysiak 당신은'TableViewer'를 사용하고 있습니까? 개체가 행 또는 열로 정렬 되었습니까? 위의 예가 원하는대로 처리됩니다. – Baz
개체의 열이 정렬됩니다. 각 열은 별도의 개체입니다. 나는'TableViewer'를 아직 사용하지 않지만, 제가 쓰는 경우가 가능하다면, 그렇게 할 것입니다. 그렇지 않다면 프로젝트 레이아웃을 약간 변경하는 것으로 생각할 수 있습니다. –
은 간단한'Table' 또는'TableViewer'를 사용하십니까 : 여기
은 예입니다? – Baz@Baz'Table',하지만'TableViewer'로 훨씬 쉬워 진다면 변경할 수있을 것 같아요. –