我在我的应用程序中使用了一个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);
答案 0 :(得分: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很好,没有做任何事情的宽度对应于最长项目的长度。那么你在哪个容器中添加了菜单?。