2013-01-08 44 views
0

我在我的應用程序中使用了一個MenuItem,但它顯示在整個頁面上,請看附件,我試了幾個小時並搜索了,但是這個寬度並沒有減少, 我使用SmartGWT的的演示應用程序,使用它的代碼,但我不能想出什麼問題SMARTGWT,菜單項寬度不變

任何想法

感謝 enter image description here

代碼片段:

    itemListMenu = new Menu(); 
    itemListMenu.setCellHeight(22); 
    MenuItem detailsMenuItem = new MenuItem("Show Details"); 
    detailsMenuItem.addClickHandler(new ClickHandler() { 
     public void onClick(MenuItemClickEvent event) { 
      searchItemDetails.selectTab(0); 
      searchItemDetails.updateDetails(); 
     } 
    }); 

    MenuItem editMenuItem = new MenuItem("Edit Item"); 
    editMenuItem.addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() { 
     public void onClick(MenuItemClickEvent event) { 
      searchItemDetails.selectTab(1); 
      searchItemDetails.updateDetails(); 
     } 
    }); 

    MenuItem deleteMenuItem = new MenuItem("Delete Item"); 
    deleteMenuItem.addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() { 
     public void onClick(MenuItemClickEvent event) { 
      userGrid.removeSelectedData(); 
      searchItemDetails.clearDetails(null); 
     } 
    }); 


    itemListMenu.setData(detailsMenuItem, editMenuItem, deleteMenuItem); 

回答

0

我們可以看看菜單本身的代碼,您是否設置了它的寬度?

我想你的代碼

static void testMenu(){ 
    Menu itemListMenu = new Menu(); 
     itemListMenu.setCellHeight(22); 
     MenuItem detailsMenuItem = new MenuItem("Show Details"); 
     detailsMenuItem.addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() { 
      public void onClick(MenuItemClickEvent event) { 

      } 
     }); 

     MenuItem editMenuItem = new MenuItem("Edit Item"); 
     editMenuItem.addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() { 
      public void onClick(MenuItemClickEvent event) { 

      } 
     }); 

     MenuItem deleteMenuItem = new MenuItem("Delete Item"); 
     deleteMenuItem.addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() { 
      public void onClick(MenuItemClickEvent event) { 

      } 
     }); 


     itemListMenu.setData(detailsMenuItem, editMenuItem, deleteMenuItem); 
     RootLayoutPanel.get().add(itemListMenu); 
} 

Everyrything是好的,沒有做任何事情對應的最長項的長度寬度。那麼你添加了哪個容器的菜單?

+0

編輯上面的代碼,這就是我所有的菜單項,我沒有做任何與寬度,也試圖改變寬度的大小,但沒有運氣 – junaidp

+0

感謝您的幫助,在上面的代碼由我,我我沒有添加它在任何地方,如果我添加它在一些VPanel或某件事情,然後我將添加該vpanel – junaidp

+0

在我的情況下的RootPanel是mainContainer,如果你想你的菜單是一個VLayout成員你添加此VLayout例如,父容器可能是RootPanel。除了smartgwt,你不必使用thie rootpanel,你可以簡單地調用你的根部件的繪製方法(在這種情況下你是VLayout)。 –