在SelectionListener上调用两次事件

时间:2012-05-30 20:16:59

标签: events

我正在尝试在RadioButton上实现一个事件:

radio_Email.addSelectionListener(
    new org.eclipse.swt.events.SelectionListener() {
        public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
            // TODO Auto-generated Event stub widgetDefaultSelected()
        }
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            System.out.println("This is printed twice "
                    + "if i try to toggle between two radio buttons");
        }
    }
);

我知道这会被调用两次:第一次取消选择第一个单选按钮,第二次选择第二个单选按钮。

但我无法弄清楚如何解决它......任何人都可以帮我解决这个问题

注意:单选按钮是动态生成的,因此可能有n个单选按钮,因此它位于for循环中(只是在案例中...一些附加信息)...页面加载...当我选择了第一个,事件被调用一次......但是当我点击第二个......那么事件就会发生两次火灾。

提前致谢

1 个答案:

答案 0 :(得分:3)

我已经解决了...... 将widget选择的方法修改为

      public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
                boolean isSelected = ((Button)e.getSource()).getSelection();
          if(isSelected){     

                               system.out.println("Now this solved the problem")

                          }           
                       }