1
    int browserHeight=Window.getClientHeight();
    int browserWidth=Window.getClientWidth();
    dialog.setPopupPosition(browserWidth-dialog.getElement().getClientWidth(), browserHeight-dialog.getElement().getClientHeight());

    dialog.show();

上面的代码将使位置从浏览器的最后一个像素开始(即底部=0),这不是我所期望的。我不喜欢css cos浏览器不兼容的问题。如果你可以让对话框不放在页脚上,我的网站上还有一个页脚(高度 = 50px),如下图所示 在此处输入图像描述

那么,如何将 GWT 对话框定位到浏览器的右下角?

4

2 回答 2

3

这是正确的方法

dialogBox.setPopupPositionAndShow(new PositionCallback(){

    @Override
    public void setPosition(int offsetWidth, int offsetHeight) {
                        // TODO Auto-generated method stub
        dialogBox.setPopupPosition(parentDockLayoutPanel().getOffsetWidth()-         dialogBox.getOffsetWidth(), 
parentDockLayoutPanel().getOffsetHeight() - dialogBox.getOffsetHeight()-50);
    }

});
于 2013-10-04T16:50:47.690 回答
1

如果我们知道对话框的确切宽度和高度,那就很简单了。我们还需要知道对话框的parentPanel / parentLayoutPanel

此代码将起作用,但它不是最佳代码

dialogBox.setWidth("300px");
dialogBox.setHeight("300px");
dialogBox.setPopupPosition(parentLayoutPanel.getOffsetWidth()-300,parentLayoutPanel.getOffsetHeight()-300-50);

但是如何动态知道对话框的宽度+高度是另一个问题

于 2013-10-04T16:25:49.983 回答