3

我的页面上有一个带有按钮的表格。按钮太多了,我有一个滚动条可以向下滚动我的表格。

按钮“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);
4

1 回答 1

0

上述问题的根源似乎很简单。Chrome 无法正确居中对话框。我检查了 FF,IE ......它按计划工作。

于 2012-05-24T09:08:22.797 回答