在摆动时,我遇到了一个小的应用程序。 我有一个 JMenuBar, 有几个 JMenus, 有些是菜单听众添加的, 他们就像普通按钮( 菜单选择打开一个对话框 ) 。 问题是, 当我点击一个普通菜单, JMenu Frojects 列表展开, 然后在按钮菜单上移动光标时, 菜单听众认为它点击了鼠标和 Lanuches apropiciate 方法 。 如何禁用它? 这里的代码中有一部分是用自定义名称清理的 :
JMenuBar bar = new JMenuBar();
addPlayerButton = new JMenu("Button");
addPlayerButton.addMenuListener(new MenuListener() {
@Override
public void menuSelected(MenuEvent e) {
addPlayerButton.setSelected(false);
//here comes my method to show custom dialog
}
@Override
public void menuDeselected(MenuEvent e) {
}
@Override
public void menuCanceled(MenuEvent e) {
}
});
bar.add(addPlayerButton);
JMenu menu = new JMenu("Menu");
bar.add(menu);