在GWT中,如何防止MenuItems以预设的像素宽度溢出MenuBar的边界?
我尝试在MenuItem对象本身以及相关的Style对象上使用setWidth方法更改项目的宽度,但两者都没有区别。
我也尝试在将MenuItem添加到MenuBar之前和之后对其进行更改。
答案 0 :(得分:0)
MenuBar private void openPopup(final MenuItem item) {...}
创建DecoratedPopupPanel
。 popupPanel有一个回调popup.setPopupPositionAndShow(new PopupPanel.PositionCallback() {...}
。这是计算popUp位置的地方,如果你可以覆盖这个回调,你可以添加你的逻辑来测试它是否溢出并设置正确的位置。问题是该方法是私有的,对于快速(并且不那么干净)的解决方案,我将整个类复制到另一个.java文件,并使用它作为新MenuBar
的基础。