我在我的eclipse RCP应用程序中使用了一个带有tablecolumnlayout(对于它的父组合)的jface tableviewer,如下所示 -
Composite composite = new Composite(parent, SWT.NONE);
GridLayoutFactory.fillDefaults().numColumns(2).applyTo(composite);
GridDataFactory.swtDefaults().grab(true, true).applyTo(composite);
// Table Composite
Composite tblComposite = new Composite(composite, SWT.NONE);
GridLayoutFactory.fillDefaults().numColumns(2).applyTo(tblComposite);
GridDataFactory.swtDefaults().grab(true, true).hint(500, 180).applyTo(tblComposite);
// Table Column Layout
TableColumnLayout tableColumnLayout = new TableColumnLayout();
tblComposite.setLayout(tableColumnLayout);
tableViewer =
new TableViewer(tblComposite, SWT.BORDER | SWT.FULL_SELECTION |
SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.RESIZE);
Table table = tableViewer.getTable();
table.setLinesVisible(true);
table.setHeaderVisible(true);
GridDataFactory.fillDefaults().grab(true, true).applyTo(table);
// Column 1
TableViewerColumn column = new TableViewerColumn(tableViewer, SWT.NONE);
column.getColumn().setText("Source");
tableColumnLayout.setColumnData(column.getColumn(), new ColumnWeightData(50, true));
// Column 2
TableViewerColumn column2 = new TableViewerColumn(tableViewer, SWT.NONE);
column2.getColumn().setText("Target");
tableColumnLayout.setColumnData(column2.getColumn(), new ColumnWeightData(50, true));
tableViewer.setUseHashlookup(true);
tableViewer.setContentProvider(new ArrayContentProvider());
tableViewer.setLabelProvider(new CustomLabelProvider());
tableViewer.setSorter(new CustomViewSorter());
我面临的问题是,当我调整窗口大小(缩小窗口大小)时,我没有看到表格查看器的垂直和水平滚动条,即使看不到表格的行也是如此调整大小(缩小大小直到隐藏表中的某些行)时,滚动条根本不显示,但我们通常希望它们出现正确吗?
我使用的GridData逻辑有什么问题吗?请帮我脱掉这里。
答案 0 :(得分:0)
删除SWT.FULL_SELECTION。它不适用于SWT.V_SCROLL | SWT.H_SCROLL。