0
因此,現在我已在TitleAreaDialog
中成功添加TableViewer
。
我想弄清楚我有一些佈局問題。
我可以在我的對話框窗口中控制tableViewer的佈局和位置。
現在表格顯示在右側。
我希望它在我的父母複合中居中。
我可以將TableViewer添加到createDialogArea
方法中的父佈局中嗎? 我將在對話框中添加更多複合材料,並希望能夠控制它們的位置以及它們的外觀。 另外我的表格在表格末尾顯示了一個半空列,有沒有辦法刪除它?TableViewer居中佈局
喜歡的東西:
GridData gridData = new GridData();
gridData.grabExcessHorizontalSpace = true;
gridData.horizontalAlignment = GridData.CENTER;
TableViewer d = createTableViewer(area);
d.setLayoutData(gridData);
這是我的createDialogArea代碼。
protected Control createDialogArea(Composite parent) {
final Composite area = new Composite(parent, SWT.NULL);
final GridLayout gridLayout = new GridLayout();
gridLayout.marginWidth = 15;
gridLayout.marginHeight = 10;
area.setLayout(gridLayout);
TableViewer d = createTableViewer(area);
return area;
}
這裏是我的TableViewer的代碼
private TableViewer createTableViewer(Composite parent) {
viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
createColumns(parent, viewer);
final Table table = viewer.getTable();
table.setHeaderVisible(true);
table.setLinesVisible(true);
viewer.setContentProvider(new ArrayContentProvider());
viewer.setInput(AplotSelectedDataTable.getInstance().getArrayData());
// Layout the viewer
GridData gridData = new GridData(SWT.CENTER);
gridData.verticalAlignment = GridData.FILL;
gridData.horizontalSpan = 2;
gridData.grabExcessHorizontalSpace = true;
gridData.grabExcessVerticalSpace = true;
gridData.horizontalAlignment = GridData.FILL;
viewer.getControl().setLayoutData(gridData);
return viewer;
}