从jface对话框中删除按钮栏



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

你认为重写createButtonBar方法返回null,如果按钮栏是不需要的吗?这将节省一些代码。

如果您为结果组合返回null,则重写createButtonBar将产生错误,因为Dialog代码期望它不为空。

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

您可以像这样删除按钮组合使用的空间:

@Override
protected void createButtonsForButtonBar(final Composite parent)
{ 
  GridLayout layout = (GridLayout)parent.getLayout();
  layout.marginHeight = 0;
}

如果你想在你的对话框中只有一个"关闭"按钮,你可以这样做:

@Override
public void create() {
    super.create();
    getButton(IDialogConstants.OK_ID).setVisible(false);
    getButton(IDialogConstants.CANCEL_ID).setText("Close");
}

相关内容

  • 没有找到相关文章

最新更新