Пункт меню «Радио». Генерация SelectionListener дважды - SWT

У меня есть меню верхнего уровня с именем "radio", содержащее два радио MenuItem . Я добавляю SelectionListener для оба.

    MenuItem radio = new MenuItem(bar, SWT.CASCADE); /* bar is the menu bar */
    radio.setText("Radio");

    Menu menu = new Menu(radio);
    radio.setMenu(menu);

    MenuItem mntmOption_1 = new MenuItem(menu, SWT.RADIO);
    mntmOption_1.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            System.out.println("Option 1 selected");
        }
    });
    mntmOption_1.setText("Option1");

    MenuItem mntmOption_2 = new MenuItem(menu, SWT.RADIO);
    mntmOption_2.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            System.out.println("Option 2 selected");
        }
    });
    mntmOption_2.setText("Option2");

Сначала я выбираю mntmOption_1 , он показывает:

Option1 selected

, затем выбираю mntmOption_2 , он показывает:

Option1 selected
Option2 selected

Кажется, он увольняет обоих слушателей. Вот вопрос: Почему? Я использую WinXP.

5
задан Luke 6 December 2011 в 09:42
поделиться