【发布时间】:2013-09-05 23:14:01
【问题描述】:
我发现了以下问题,我希望得到更好的答案。有什么想法吗?
“据我所知,默认情况下 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);
}
【讨论】: