0

我在我的应用程序中使用 MenuItem 但它显示在整个页面上,请查看附件,我尝试了几个小时并搜索了但这个宽度没有减少,我正在使用 SmartGWT 的演示应用程序,使用它代码,但我不知道是什么问题

任何的想法

谢谢 在此处输入图像描述

代码片段:

                  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);  
4

1 回答 1

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);
}

一切都很好,不做任何事情的宽度对应于最长项目的长度。那么您将菜单添加到哪个容器中?

于 2013-01-08T16:09:35.273 回答