我发现以下问题,我想要更好的答案。有什么想法吗?
“据我所知,默认情况下DialogBox在GWT中不可重复(甚至没有实现)。通过调整大小我的意思是点击DialogBox的边缘并将其拖得更大。我已经看到一些自定义可调整大小的面板网络,但不是DialogBox。我有一些关于如何制作可调整大小的DialogBox的想法,只是不想重新发明weel。也许有人知道可调整大小的DialogBox的实现并且可以将我链接到源代码?“
答案 0 :(得分:4)
我们环顾四周,最后放弃了修改/增强GWT DialogBox。相反,我们选择了开源的Windobox实现,提供了开箱即用的功能。 代码@ WindowBox
我们已经成功地在企业应用程序中使用了200个屏幕,即firefox和chrome。
答案 1 :(得分:1)
通过使用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);
}