Вот класс, который я использую для создания моей страницы настроек.Eclipse preference - Несколько прослушивателей в переключателях
public class CustomPref extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
public CustomPref(){
super(GRID);
}
@Override
protected void createFieldEditors() {
addField(new RadioGroupFieldEditor("CHOICE",
"An example of a multiple-choice preference", 1,
new String[][] { { "&Choice 1", "choice1" },{ "&Choice 2", "choice2" }
}, getFieldEditorParent()));
}
@Override
public void init(IWorkbench workbench) {
}
@Override
public void propertyChange(PropertyChangeEvent event) {
super.propertyChange(event);
System.out.println(event.getNewValue());
}
}
Но когда я нажал "Выбор 1" в журнале я вижу CHOICE1. , когда я нажал «Выбор 2» в журнале, я вижу выбор1 и выбор2. , когда я снова нажал «Выбор 1» в журнале, я вижу выбор2 и выбор1.
Кажется, что кнопка радио имеет несколько прослушивателей событий. Почему event.getNewValue() вызывается дважды?