菜单栏中的菜单项未激活,无法选择或单击
Posted
技术标签:
【中文标题】菜单栏中的菜单项未激活,无法选择或单击【英文标题】:the menu items in menubar is not active and cannot be selected or clicked 【发布时间】:2012-10-11 10:25:10 【问题描述】:我有一个问题。我正在 gwt 中编写一个 Web 应用程序。我想要一个菜单栏,这是我的代码:
Menu[] menus = new Menu[2];
MenuBar plikMenu = new MenuBar();
Menu menuPlik = new Menu();
MenuItem itemZmianaHasla = new MenuItem("Zmiana hasła...");
//MenuItem itemDodajUzytkownika = new MenuItem("Dodaj użytkownika...");
MenuItem itemDodajUzytkownika = new MenuItem("Dodaj użytkownika...");
itemDodajUzytkownika.addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler()
public void onClick(final MenuItemClickEvent event)
DodajUzytkownika uzytkownik = new DodajUzytkownika();
uzytkownik.center();
uzytkownik.show();
);
MenuItem itemUsunUzytkownika = new MenuItem("Usuń użytkownika");
MenuItem itemDodajGrupe = new MenuItem("Dodaj grupę...");
MenuItem itemZarzadzanieSesjami = new MenuItem("Zarządzanie sesjami");
MenuItemSeparator separator = new MenuItemSeparator();
MenuItem itemZarzadzanieLicencjami = new MenuItem("Zarządzanie licencjami");
MenuItem itemRaporty = new MenuItem("Raporty");
MenuItem itemBackupOracle = new MenuItem("Backup Oracle...");
MenuItem itemPrzywracanieOracle = new MenuItem("Przywracanie Oracle...");
MenuItem itemEksportLogiczny = new MenuItem("Eksport logiczny");
MenuItem itemWyjscie = new MenuItem("Wyjście");
menuPlik.setItems(itemZmianaHasla, itemDodajUzytkownika, itemUsunUzytkownika,itemDodajGrupe,itemZarzadzanieSesjami,separator, itemZarzadzanieLicencjami,itemRaporty,separator, itemBackupOracle,itemPrzywracanieOracle,itemEksportLogiczny,itemWyjscie);
menuPlik.setTitle("Plik");
menuPlik.setWidth(100);
menus[0] = menuPlik;
Menu menuPomoc = new Menu();
menuPomoc.setShowShadow(true);
menuPomoc.setShadowDepth(10);
MenuItem itemLicencja = new MenuItem("Licencja...");
MenuItem itemPodrecznikAdministratora = new MenuItem("Podręcznik administratora...");
MenuItem itemOProgramie = new MenuItem("O programie...");
menuPomoc.setItems(itemLicencja, itemPodrecznikAdministratora, itemOProgramie);
menuPomoc.setTitle("Pomoc");
menuPomoc.setWidth(80);
menus[1] = menuPomoc;
plikMenu.addMenus(menus, 0);
plikMenu.setWidth(80);
plikMenu.enable();
dialogHTopPanel.addMember(plikMenu);
我使用 smartgwt 组件。带有项目的菜单栏是可见的,但是如果我想单击其中一个,则什么也没有发生。即使该项目没有突出显示。 有谁知道我做错了什么?
感谢您的帮助
【问题讨论】:
【参考方案1】:您需要指定处理菜单点击动作的事件。
例如,如果你想为一个菜单项添加一个动作,你应该这样做
MenuItem itemRaporty = new MenuItem("Raporty");
itemRaporty.addClickHandler(new ClickHandler()
public void onClick(final MenuItemClickEvent event)
//processClickEvent();
);
【讨论】:
我已经尝试过了。例如我有: MenuItem itemDodajUzytkownika = new MenuItem("Dodaj użytkownika..."); itemDodajUzytkownika.addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() public void onClick(final MenuItemClickEvent event) DodajUzytkownika uzytkownik = new DodajUzytkownika(); uzytkownik.center(); uzytkownik.show(); );但它不起作用,因为我无法单击该项目。为什么我不能点击项目? 你检查过MenuItem的isEnabled()的返回值吗? 如果 isEnabled() 为假,请尝试 setEnabled(true);菜单项对象的方法以上是关于菜单栏中的菜单项未激活,无法选择或单击的主要内容,如果未能解决你的问题,请参考以下文章