8

我想为 OK/Cancel 按钮创建一个带有自定义标签的 InputDialog。我正在使用org.eclipse.jface.dialogs.InputDialog

我试图覆盖按钮创建方法:

   @Override
   protected void createButtonsForButtonBar(Composite parent) {
    super.createButtonsForButtonBar(parent);
    getButton(IDialogConstants.OK_ID).setText(myOkText);
    getButton(IDialogConstants.CANCEL_ID).setText(myCancelText);
   }

它可以工作,但是按钮没有调整大小(并且自定义文本结果被裁剪)。

我想在这里设置文本为时已晚,因为布局管理器已经确定了按钮大小,并且无法告诉它重新计算......是这样吗?

正确的方法是什么?

4

2 回答 2

16

试试这个

 @Override
   protected void createButtonsForButtonBar(Composite parent) {
    super.createButtonsForButtonBar(parent);

    Button ok = getButton(IDialogConstants.OK_ID);
    ok.setText(myOkText);
    setButtonLayoutData(ok);

    Button cancel = getButton(IDialogConstants.CANCEL_ID);
    cancel.setText(myCancelText);
    setButtonLayoutData(cancel);
 }
于 2010-08-13T13:51:54.283 回答
2

试试这个方法。。

@Override
protected void createButtonsForButtonBar(Composite parent) {

    Button button = createButton(parent,9999, "HEllo", true);
    Button button2 = createButton(parent,9999, "HEllo232323sdsdsdsd", false);

}
于 2010-08-13T06:54:57.870 回答