我想创建一个带有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);
}
并且它可以工作,但按钮没有调整大小(并且自定义文本结果被裁剪)。
我想在这里设置文本为时已晚,因为布局管理器已经确定了按钮大小,并且无法告诉它重新计算......是这样的吗?
正确的方法是什么?
答案 0 :(得分: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);
}
答案 1 :(得分:2)
以这种方式尝试..
@Override
protected void createButtonsForButtonBar(Composite parent) {
Button button = createButton(parent,9999, "HEllo", true);
Button button2 = createButton(parent,9999, "HEllo232323sdsdsdsd", false);
}