【问题标题】:Eclipse preference - Multiple listener in radio buttonsEclipse 首选项 - 单选按钮中的多个侦听器
【发布时间】:2023-03-27 15:13:01
【问题描述】:

这是我用来创建自定义首选项页面的类。

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”时,我看到了选择 1。 当我在日志中按下“选择 2”时,我看到了选择 1 和选择 2。 当我在日志中再次按下“选择 1”时,我看到了选择 2 和选择 1。

单选按钮似乎有一个多事件监听器。为什么 event.getNewValue() 调用了两次?

【问题讨论】:

    标签: eclipse eclipse-plugin jface


    【解决方案1】:

    RadioGroupFieldEditor 创建了许多带有无线电样式的Button 控件,并为每个按钮添加了一个选择侦听器。

    当您单击其中一个单选按钮时,会为不再被选中的按钮触发一个选择事件,并为已被选中的按钮触发另一个事件。所以你会得到两个事件 - 一个用于取消选择,一个用于选择。

    【讨论】:

      猜你喜欢
      • 2021-12-15
      • 2023-03-25
      • 1970-01-01
      • 2011-07-16
      • 1970-01-01
      • 2023-03-30
      • 2018-12-26
      • 1970-01-01
      • 2020-12-23
      相关资源
      最近更新 更多