非常によく似た質問をしましたが、色を変更する代わりに画像を使用することになりました。
セル内のすべてのテキストを濃い灰色にしたい。各列を割り当てる必要があることを理解しています。しかし、私はそれを行う方法はありません。
これは、TableViewer の列の 1 つです。
col = new TableViewerColumn(this , SWT.NONE);
col.getColumn().setWidth(200);
col.getColumn().setText("Printer/Profile");
col.setLabelProvider(new ColumnLabelProvider() {
@Override
public String getText(Object element) {
AplotResultsDataModel.ResultsData p = (AplotResultsDataModel.ResultsData) element;
return p.getPrinterProfile();
}
});
上記のコードを変更して、フォントの色を濃い灰色に設定するにはどうすればよいですか?
編集
スイッチを使用している場合、列の数をどのように知ることができますか? また、列名を設定するにはどうすればよいですか? これが私が今それを設定した方法です
TableViewerColumn col = new TableViewerColumn(this , SWT.NONE);
col.getColumn().setWidth(150);
col.getColumn().setText("ItemId");
col.setLabelProvider(new ColumnLabelProvider() {
@Override
public void update(ViewerCell cell)
{
Object element = cell.getElement();
if(element instanceof AplotPDFDataModel.FileNameData)
{
AplotPDFDataModel.FileNameData p = (AplotPDFDataModel.FileNameData) element;
cell.setForeground(ColorConstants.darkGray);
switch(cell.getColumnIndex())
{
case 0:
try {
cell.setText(p.getRev().getStringProperty("item_id"));
}
catch (TCException e) {
e.printStackTrace();
}
break;
case 1:
try {
cell.setText(p.getRev().getStringProperty("item_revision_id"));
}
catch (TCException e) {
e.printStackTrace();
}
break;
case 2:
cell.setText(p.getPRLValue().toString());
break;
case 3:
cell.setText(p.getMarkupValue());
break;
case 4:
cell.setText(p.getFileName());
break;
}
}
}
});