setWidth类的TableViewerColumn方法采用整数类型,我真的很想使用百分比,无论如何要执行此操作,或者打包表或其他内容?

最佳答案

使用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);

09-30 21:04