JFace/SWT: Измените маркировки для кнопок в InputDialog

Я хочу создать InputDialog с пользовательскими маркировками для OK/кнопок отмены. Я использую 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);
   }

и это работает, но кнопки не изменены (и обрезанные результаты пользовательского текста).

Я предполагаю, что слишком поздно для установки текста здесь, потому что менеджер по расположению уже решил размер кнопки, и нельзя сказать этому повторно вычислять... Это так?

Каков корректный путь?

8
задан leonbloy 11 August 2010 в 15:36
поделиться

2 ответа

попробуйте это

 @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);
 }
16
ответ дан 5 December 2019 в 09:23
поделиться

попробуйте таким образом...

@Override
protected void createButtonsForButtonBar(Composite parent) {

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

}
2
ответ дан 5 December 2019 в 09:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: