0

我想创建一个没有确定/取消按钮的对话框。我知道如果你重写 createButton 方法,这是可以实现的。

如果根本不需要按钮栏,您如何看待重写 createButtonBar 方法以返回 null ?这将节省一些代码。

4

2 回答 2

5

如果您返回结果组合,覆盖createButtonBar将产生错误,因为代码期望它不为空。nullDialog

您可以覆盖createButtonsForButtonBar而不创建任何按钮。看起来Dialog总是检查单个按钮是否存在。

您可以删除按钮组合使用的空间,如下所示:

@Override
protected void createButtonsForButtonBar(final Composite parent)
{ 
  GridLayout layout = (GridLayout)parent.getLayout();
  layout.marginHeight = 0;
}
于 2014-08-21T10:50:54.173 回答
0

如果您希望对话框中只有一个“关闭”按钮,您可以这样做:

@Override
public void create() {
    super.create();
    getButton(IDialogConstants.OK_ID).setVisible(false);
    getButton(IDialogConstants.CANCEL_ID).setText("Close");
}
于 2017-05-19T12:42:24.000 回答