2010-08-11 12 views
8

Quiero crear un InputDialog con etiquetas personalizadas para los botones Aceptar/Cancelar. Estoy usando org.eclipse.jface.dialogs.InputDialog.JFace/SWT: cambie las etiquetas de los botones en InputDialog

Me trataron de anular el método de creación de botones:

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

y funciona, pero los botones no se cambia el tamaño (y los resultados de texto personalizados recortada).

Supongo que es demasiado tarde para configurar el texto aquí, porque el administrador de disposición ya ha decidido el tamaño del botón y no se puede decir que vuelva a calcular ... ¿Es así?

¿Cuál es la forma correcta?

Respuesta

16

probar este

@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); 
} 
+0

Yo trabajo. Me perdí ese método 'setButtonLayoutData' ... ¡Gracias! – leonbloy

2

intento de esta manera ..

@Override 
protected void createButtonsForButtonBar(Composite parent) { 

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

} 
+0

Gracias, pero no me quería a Creta nuevos botones, pero sólo cambiar las etiquetas de la falta de pago predeterminado (Aceptar/Cancelar) – leonbloy

Cuestiones relacionadas