gpt4 book ai didi

java - 单选菜单项生成 SelectionListener 两次 - SWT

转载 作者:搜寻专家 更新时间:2023-10-31 08:28:55 24 4
gpt4 key购买 nike

我有一个名为“radio”的顶级菜单,其中包含两个 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。

最佳答案

它正在触发两个监听器,因为第二个单选按钮失去了它的选择。如果您只想对特定状态使用react,则应检查小部件状态。

关于java - 单选菜单项生成 SelectionListener 两次 - SWT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8397798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com