2010-08-11 15 views
8

में बटन के लिए लेबल बदलें मैं ठीक/रद्द बटन के लिए कस्टम लेबल के साथ एक इनपुटडिअलॉग बनाना चाहता हूं। मैं 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); 
    } 

और यह काम करता है, लेकिन बटन नहीं बदला जाता है (और कस्टम पाठ परिणाम क्रॉप)।

मुझे लगता है कि यहां टेक्स्ट सेट करने में बहुत देर हो चुकी है, क्योंकि लेआउट मैनेजर ने बटन आकार का निर्णय लिया है और कोई इसे पुन: सम्मिलित करने के लिए नहीं कह सकता ... क्या ऐसा है?

सही तरीका क्या है?

उत्तर

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

मैं काम करता हूं। मैं उस 'setButtonLayoutData' विधि याद किया था ... धन्यवाद! – leonbloy

2
इस तरह से

कोशिश ..

@Override 
protected void createButtonsForButtonBar(Composite parent) { 

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

} 
+0

धन्यवाद, लेकिन मैं क्रेते नया बटन नहीं चाहता था, लेकिन सिर्फ डिफ़ॉल्ट पूर्व निर्धारित वालों के लेबल (ठीक/रद्द बदल)। – leonbloy