GWT - DialogBox.center()无法正常工作

时间:2012-05-23 16:09:05

标签: java gwt

我的页面上有一个带按钮的表格。有很多按钮,我有一个滚动条向下滚动我的桌子。

按钮“onClick”会生成一个对话框,其中包含滚动面板,内容和关闭此对话框的按钮。我使用DialogBox.center()将其居中。当我按下时,让我们说一个表格中的第一个按钮,对话框严格出现在中心....但是当我向下滚动页面并按下表格底部的按钮时,我的DialogBox仍然出现在“旧”中中心......几乎在我的视线之上。根据我的滚动条位置,它根本不会向下移动。 我试图改变setPopupPosition(),setPopupPositionAndShow()等等,但它没有帮助。

有什么想法有什么不对吗?这是我的对话框的一些代码:

public class MyDialogBox extends DialogBox {

    public MyDialogBox(final String caption, final String text) {
        setText("Caption: " + caption);

        VerticalPanel inner = new VerticalPanel();
        Label msg = new Label(text);

        Button ok = new Button("Close");
        ok.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent event) {
                    MessageTextBox.this.hide();
                }
        });

        inner.add(msg);
        ScrollPanel scrollbar = new ScrollPanel(inner);
        scrollbar.setSize("640", "480");
        VerticalPanel outer = new VerticalPanel();
        outer.add(scrollbar);
        outer.add(ok);
        setWidget(outer);
    }
}

以下是我的按钮调用它的方式:

VerticalPanel mainPanel ... //MainPanel with a lot different elements, it contains panel with buttons
VerticalPanel panel ... //Panel with buttons
panel.setViewButtonHandler(new ClickHandler() {
    public void onClick(ClickEvent event) {
        MyDialogBox dialogBox = new MyDialogBox("Caption", "Some text");
        dialogBox.center();
        dialogBox.show();
     }
});
mainPanel.add(panel);

1 个答案:

答案 0 :(得分:0)

上述问题的根源似乎非常简单。 Chrome无法正确居中对话框。我用FF,IE检查......它按计划运行。