GET中心对话框变焦

时间:2012-10-02 06:48:10

标签: java gwt zoom dialog

我正在使用GWT开发mobile GWT 2.4个应用程序。我希望我的DialogBox始终位于缩放或普通视图上用户viewport的中心位置。在普通视图中,center()可以处理它,但是当页面变焦时,DialogBox会弹出整个浏览器窗口的中心,其中包括不在用户视口中心的页面滚动部分。这该怎么做?请帮忙。提前谢谢。

2 个答案:

答案 0 :(得分:0)

您需要将一个处理程序附加到捕获缩放事件的窗口。在此处理程序中,您可以调用

myDialogBox.setPopupPosition((Window.getClientWidth() - myDialogBox.getOffsetWidth())/2, (Window.getClientHeight() - myDialogBox.getOffsetHeight())/2);
}

如果您希望以不同方式对待它们,则可能需要在对话框大于浏览器窗口时添加检查。

答案 1 :(得分:0)

我必须在我的窗口及其构造函数上implements ResizeHandler,我添加了ResizeEvent处理程序> Window.addResizeHandler(this);。因为我正在实现ResizeHandler接口,所以我需要覆盖以下内容:

@Override
public void onResize(ResizeEvent event) {
    if (isShowing() ) { //check if popup is showing
        int left = (Window.getClientWidth() * 0.5 - (widthOfMyWindow * 0.5) );
        int top = (Window.getClientHeight() * 0.5  - (heightOfMyWindow * 0.5) );

        setPopupPosition( left < 10 ? 10 : left, top < 0 ? 0 : top );
    }
}