【发布时间】:2013-07-25 19:57:18
【问题描述】:
在 GWT 中,如何防止 MenuItems 溢出具有预设像素宽度的 MenuBar 的边界?
我尝试使用 MenuItem 对象本身及其关联的 Style 对象上的 setWidth 方法更改项目的宽度,但都没有改变。
我还尝试在 MenuItem 添加到 MenuBar 之前和之后对其进行更改。
【问题讨论】:
在 GWT 中,如何防止 MenuItems 溢出具有预设像素宽度的 MenuBar 的边界?
我尝试使用 MenuItem 对象本身及其关联的 Style 对象上的 setWidth 方法更改项目的宽度,但都没有改变。
我还尝试在 MenuItem 添加到 MenuBar 之前和之后对其进行更改。
【问题讨论】:
MenuBar private void openPopup(final MenuItem item) {...} 创建一个DecoratedPopupPanel。 popupPanel 有一个回调popup.setPopupPositionAndShow(new PopupPanel.PositionCallback() {...}。那是计算弹出位置的地方,如果您可以覆盖此回调,您可以添加您的逻辑来测试它是否溢出并设置正确的位置。问题是该方法是私有的,对于一个快速(而且不那么干净)的解决方案,我会将整个类复制到另一个 .java 文件并使用它作为新 MenuBar 的基础。
【讨论】: