У меня есть меню верхнего уровня с именем "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.