tableviewercolumn setwidth percentages而不是像素

时间:2014-10-16 15:49:04

标签: java eclipse-plugin swt eclipse-rcp tableviewer

setWidth类的TableViewerColumn方法采用整数类型,我真的想使用百分比,无论如何都要这样做,或打包表或什么?

2 个答案:

答案 0 :(得分:3)

使用TableLayout对表格进行布局,并使用ColumnWeightData指定权重'每列。

例如,两个具有60/40权重的列:

TableViewer viewer = ....

TableLayout layout = new TableLayout();

TableViewerColumn col1 = new TableViewerColumn(viewer, SWT.LEAD);
layout.setColumnData(col1.getColumn(), new ColumnWeightData(60));

TableViewerColumn col2 = new TableViewerColumn(viewer, SWT.LEAD);
layout.setColumnData(col2.getColumn(), new ColumnWeightData(40));

viewer.getTable().setLayout(layout);

答案 1 :(得分:1)

是的,你也可以打包桌子/树。

for (final TreeColumn item : tree.getColumns()) {
  item.pack();
}

for (final TableColumn item : table.getColumns()) {
  item.pack();
}

这与CTRL + NUM-PAD非常相似' +' Windows上的密钥代码。