これで、にを追加できTableViewer
ましたTitleAreaDialog
。
私は私が抱えているレイアウトの問題のいくつかを理解しようとしています。
ダイアログウィンドウでtableViewerのレイアウトと場所を制御できますか?
現在、テーブルは右側に表示されています。
親コンポジットの中央に配置したい。
TableViewerをcreateDialogArea
メソッドの親レイアウトに追加できますか?ダイアログにコンポジットを追加し、それらがどこに移動し、どのように表示されるかを制御できるようにしたいと思います。また、私のテーブルでは、テーブルの最後に半分空の列が表示されていますが、それを削除する方法はありますか?
何かのようなもの:
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;
}
これが私のテーブルビューアーコードです
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;
}