2012-10-11 66 views
0

我遇到了问题。我在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的组件。与项目的菜单栏是可见的,但如果我想单击其中一个,没有任何事情发生。即使该项目没有突出显示。 有谁知道我做错了什么?

感谢您的帮助

回答

0

你需要指定处理菜单的点击操作的事件。

例如,如果你想添加一个动作一个菜单项,你应该这样做如下

MenuItem itemRaporty = new MenuItem("Raporty"); 
itemRaporty.addClickHandler(new ClickHandler() { 

    public void onClick(final MenuItemClickEvent event) { 
     //processClickEvent(); 
    } 
}); 
+0

我已经尝试了这一点。例如,我得到了:MenuItem itemDodajUzytkownika = new MenuItem(“Dodajużytkownika...”); itemDodajUzytkownika.addClickHandler(新com.smartgwt.client.widgets.menu.events.ClickHandler(){ 公共无效的onClick(最终MenuItemClickEvent事件){ DodajUzytkownika uzytkownik =新DodajUzytkownika(); uzytkownik.center() ; uzytkownik.show(); } });但它不工作,因为我不能点击该项目。为什么我不能点击项目? – BKl

+0

你检查了MenuItem的isEnabled()的返回值吗? –

+0

如果isEnabled()为false,请尝试setEnabled(true);菜单项目对象的方法 –