在 SWT 中设置/获取 RadioGroupFieldEditor 的值

I'm trying to add a RadioGroupFieldEditor in an Eclipse RCP application I'm developing, but seem unable to do two key things:

  1. set the value for the radio button (i.e. when the dialog/window is opened, I'd like to for example set the default to "button1")
  2. get the current value of the selected radio button (i.e. what has been selected by the user, or if nothing has been set, the default value set above).

The code I'm using is as follows:

String[][] radioButtonOptions = new String[][] { { "Button1" "button1" }, 
                                                 { "Button2" "button2" } };

RadioGroupFieldEditor radioButtonGroup 
    = new RadioGroupFieldEditor("PrefValue", "Choose Button1 or Button2", 2,
                                radioButtonOptions, parent, true)

I have a fireValueChanged() method, which I could use to set another String variable with the value (when the user makes a choice), but this just seems messy. It also won't allow me to set the default value...

I suspect I'm missing something significant! Should there be get/set methods for the above?

解决方案

Since this control is operating on preferences, you can set the default value in your preference initializer.

To get the value of the control, you could gt the actual radio control via the getRadioBoxControl(Composite) method and query that object. Not the cleanest way, but it does work adequately.

相关文章