我发现了以下问题,我想要一个更好的答案。有什么想法吗?
“据我所知,默认情况下 DialogBox 在 GWT 中是不可调整的(甚至没有实现)。通过调整大小我的意思是单击 DialogBox 的边缘并将其拖得更大。我在网络上看到了一些自定义的可调整大小的面板, “
我发现了以下问题,我想要一个更好的答案。有什么想法吗?
“据我所知,默认情况下 DialogBox 在 GWT 中是不可调整的(甚至没有实现)。通过调整大小我的意思是单击 DialogBox 的边缘并将其拖得更大。我在网络上看到了一些自定义的可调整大小的面板, “
我们环顾四周,最终放弃了修改/增强 GWT DialogBox。相反,我们选择了一个开箱即用的开源 Windobox 实现。代码 @WindowBox
我们已经成功地在企业应用程序中使用了它,包括 200 个屏幕,例如 firefox 和 chrome。
通过使用 CSS 和 GWT/JavaScript 的组合,可以实现一种非常简单的方法来实现对话框或任何其他 GWT 小部件的基本调整大小:
将 DOM 元素设置为可调整大小并处理由调整大小本身引起的鼠标事件......以下两个步骤。
1) 将 CSS 应用于对话框以使其可调整大小:div resizable like text-area 或http://caniuse.com/#feat=css-resize
不要忘记应用“溢出”而不是“可见”(例如溢出:隐藏)以使其工作。
2) 在您的 GWT 小部件(例如 DialogBox)中覆盖 onBrowserEvent(..) 以在调整大小后处理 mouseup 事件:
@Override
public void onBrowserEvent(Event pEvent) {
if(pEvent.getTypeInt() == Event.ONMOUSEUP) {
triggerYourLayoutOrResizeMethod();
}
super.onBrowserEvent(pEvent);
}