4
我的頁面上有一張帶有按鈕的表格。有太多的按鈕,我有一個滾動滾動我的桌子。GWT - DialogBox.center()無法正常工作
Button「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);
第一次居中時,在向下滾動(在瀏覽器上)時,希望對話框隨着滾動向下移動並保持居中? –
不,我希望它總是出現在頁面的中間,儘管我按下了按鈕 - 在桌子的頂部,中間或底部。 但是現在只有當我按下表格頂部的按鈕時,對話框纔出現在中心。我會附上這樣的廢話截圖,但我不知道如何。 – Dragon
但在您的描述中,您說的是根據您的滾動位置將對話框移動到新的中心。這就是我問的原因。我使用了很多對話框,並且.center()工作正常。也許你應該嘗試不同的瀏覽器和不同的html標準設置...可能是瀏覽器問題。 –