Java TableViewer列设置宽度百分比而不是像素
Java TableViewer列设置宽度百分比而不是像素,java,eclipse-plugin,swt,eclipse-rcp,tableviewer,Java,Eclipse Plugin,Swt,Eclipse Rcp,Tableviewer,TableViewerColumn类的setWidth方法采用整数类型,我真的想使用百分比,到底是这样做的,还是打包表格或其他什么?使用TableLayout布局表格,使用ColumnWeightData指定每列的“权重” 例如,权重为60/40的两列: TableViewer viewer = .... TableLayout layout = new TableLayout(); TableViewerColumn col1 = new TableViewerColumn(viewer,
TableViewerColumn
类的setWidth
方法采用整数类型,我真的想使用百分比,到底是这样做的,还是打包表格或其他什么?使用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);
使用
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);
是的,你也可以打包桌子/树
for (final TreeColumn item : tree.getColumns()) {
item.pack();
}
for (final TableColumn item : table.getColumns()) {
item.pack();
}
这与Windows上的CTRL+NUM-PAD“+”键代码非常相似。是的,您也可以打包表/树
for (final TreeColumn item : tree.getColumns()) {
item.pack();
}
for (final TableColumn item : table.getColumns()) {
item.pack();
}
这与Windows上的CTRL+NUM-PAD“+”键代码非常相似。谢谢!我以前从未在tablelayout中使用ColumnWeightData,很遗憾WindowBuilder没有给我一个通过其界面执行的选项。谢谢!我以前从未在tablelayout中使用过ColumnWeightData,可惜WindowBuilder没有给我一个通过其界面执行的选项。