gpt4 book ai didi

java - JFace 标签提供者 : How can I know the header/name of a column within a LabelProvider?

转载 作者:行者123 更新时间:2023-11-30 09:12:21 25 4
gpt4 key购买 nike

这是使用 LabelProvider 定义在列中写入内容的常规方法

@Override
public String getColumnText(final Object element, final int iColumn) {
switch (iColumn) {
case 0:
..
case 1:
..
default:
...
}
}// getColumText()

这意味着我得到了列的 ID。给定 LabelProvider 中的 id,如何获取列的“标题”?像

String str = xxx.getColumnName( iColumn );

我没找到。

最佳答案

这是一个使用 ColumnLabelProvider 的例子。这使用在仅包含 TableViewerComposite 上设置的 TableColumnLayout,这允许布局在调整控件大小时调整列大小.

final Composite tableComp = new Composite(parent, SWT.NONE);

tableComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

final TableColumnLayout layout = new TableColumnLayout();

tableComp.setLayout(layout);

TableViewer viewer = new TableViewer(tableComp, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);

Table table = viewer.getTable();

col = new TableViewerColumn(_viewer, SWT.LEAD);
col.setLabelProvider(new NameColumnLabelProvider());
col.getColumn().setText(Messages.title_filename);
layout.setColumnData(col.getColumn(), new ColumnWeightData(70));

col = new TableViewerColumn(_viewer, SWT.TRAIL);
col.setLabelProvider(new DurationColumnLabelProvider());
col.getColumn().setText(Messages.title_duration);
layout.setColumnData(col.getColumn(), new ColumnWeightData(30));


private static class NameColumnLabelProvider extends ColumnLabelProvider
{
@Override
public String getText(final Object element)
{
// return name column label
}
}


private static class DurationColumnLabelProvider extends ColumnLabelProvider
{
@Override
public String getText(final Object element)
{
// return duration column label
}
}

关于java - JFace 标签提供者 : How can I know the header/name of a column within a LabelProvider?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21607480/

25 4 0