Java GWT-DialogBox.center()不';我不能正常工作

Java GWT-DialogBox.center()不';我不能正常工作,java,gwt,Java,Gwt,我的页面上有一张带按钮的桌子。按钮太多了,我有一个滚动条可以在我的桌子上滚动 按钮“onClick”生成一个对话框,其中包含滚动面板、内容和关闭此对话框的按钮。我使用DialogBox.center()将其居中。当我按下,比如说表格中的第一个按钮时,对话框严格地显示在中间。。。。但当我向下滚动页面并按下表格底部的按钮时,我的对话框仍然显示在“旧”的中心…几乎在我的视图上方。它不会根据我的滚动条位置向下移动。 我试图更改setPopupPosition()、setPopupPositionAndS

我的页面上有一张带按钮的桌子。按钮太多了,我有一个滚动条可以在我的桌子上滚动

按钮“onClick”生成一个对话框,其中包含滚动面板、内容和关闭此对话框的按钮。我使用DialogBox.center()将其居中。当我按下,比如说表格中的第一个按钮时,对话框严格地显示在中间。。。。但当我向下滚动页面并按下表格底部的按钮时,我的对话框仍然显示在“旧”的中心…几乎在我的视图上方。它不会根据我的滚动条位置向下移动。 我试图更改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);

上述问题的根源似乎很简单。Chrome无法正确居中对话框。我和FF核实过了,即。。。它是按计划进行的。

它是第一次居中的,当你向下滚动(在浏览器上)时,你希望对话框以滚动和保持居中的方式向下移动吗?不,我希望它总是出现在页面的中心,尽管我按下按钮,在桌面的顶部,中间或底部。但现在,只有按下表格顶部的按钮,对话框才会显示在中间。我想附上一个这样胡说八道的截图,但我不知道怎么做。但是在你的描述中,你说你想根据你的滚动位置将对话框移动到新的中心。这就是我问的原因。我经常使用对话框,.center()工作正常。也许你应该尝试不同的浏览器和不同的html标准设置。也许这是浏览器的问题。哦,你是对的。在我看来一切都是正确的,这是谷歌Chrome浏览器的问题:(Firefox很好地处理了这个简单的功能。