SWT - 不将第一列和第二列与 GridLayout 一起使用
SWT - Not using first and second Column with GridLayout
我在桌面应用程序上使用 SWT,我在其中使用由 5 列和一行分割的 GridLayout,有一个表格使用 space 的顶部,底部我有 3 个按钮,我想把这 3 个按钮放在右边。基本上跳过前两个 spaces。我尝试使用:
GridData gridData = new GridData();
gridData.grabExcessHorizontalSpace = true;
gridData.horizontalAlignment= GridData.END;
CompanyGroup.setLayoutData(gridData);
但我意识到这种方法只能在列内对齐。
Composite rightComp = DialogCompositeFactory.create(parent);
rightComp.setLayout(new GridLayout(1, false));
Group CompanyGroup = DialogGroupFactory.create(rightComp,Message));
CompanyGroup.setLayout(new GridLayout(5, true));
像下面的例子
只需将空标签控件放在前两列即可。
// Empty first column
new Label(CompanyGroup, SWT.LEAD);
// Empty second column
new Label(CompanyGroup, SWT.LEAD);
... your buttons in the last three columns
我假设你有一个按钮组合,如果没有创建按钮组合并设置 GridData
和 HORIZONTAL_ALIGN_END
Composite buttonsComposite = new Composite( groupComp, SWT.NONE );
GridData gd = new GridData( GridData.HORIZONTAL_ALIGN_END );
GridLayout lo = new GridLayout(3,true);
buttonsComp.setLayoutData( gd );
buttonsComp.setLayout(lo);
我在桌面应用程序上使用 SWT,我在其中使用由 5 列和一行分割的 GridLayout,有一个表格使用 space 的顶部,底部我有 3 个按钮,我想把这 3 个按钮放在右边。基本上跳过前两个 spaces。我尝试使用:
GridData gridData = new GridData();
gridData.grabExcessHorizontalSpace = true;
gridData.horizontalAlignment= GridData.END;
CompanyGroup.setLayoutData(gridData);
但我意识到这种方法只能在列内对齐。
Composite rightComp = DialogCompositeFactory.create(parent);
rightComp.setLayout(new GridLayout(1, false));
Group CompanyGroup = DialogGroupFactory.create(rightComp,Message));
CompanyGroup.setLayout(new GridLayout(5, true));
像下面的例子
只需将空标签控件放在前两列即可。
// Empty first column
new Label(CompanyGroup, SWT.LEAD);
// Empty second column
new Label(CompanyGroup, SWT.LEAD);
... your buttons in the last three columns
我假设你有一个按钮组合,如果没有创建按钮组合并设置 GridData
和 HORIZONTAL_ALIGN_END
Composite buttonsComposite = new Composite( groupComp, SWT.NONE );
GridData gd = new GridData( GridData.HORIZONTAL_ALIGN_END );
GridLayout lo = new GridLayout(3,true);
buttonsComp.setLayoutData( gd );
buttonsComp.setLayout(lo);