2011-06-11 46 views
1

我目前正在編寫一個純GWT(2.3)應用程序,我需要使用對話框。我遵循文檔中的例子,他們按照他們的工作進行工作。爲什麼我的(純粹的)GWT對話框不能正確裁剪?

我的要求是顯示一個對話框,在關閉按鈕(現在)的情況下在可滾動文本區域中顯示一些文本。問題是我的對話面板的右側被剪掉(如果我的術語不正確,請糾正我)。我將包括一些示例代碼和結果對話框,而不是更多地解釋它。

// This next block just builds debug text to display 
StringBuilder sb = new StringBuilder(); 
for (int i = 0 ; i < 100; i++) { 
    sb.append(((i+1) < 10) ? " " : "").append(i+1).append(" : "); 
    for (int j = 0; j < 8; j++) { 
     sb.append("1234567890"); 
    } 
    sb.append("\n"); 
} 

final DialogBox dialogBox = new DialogBox(); 
dialogBox.setGlassEnabled(true); 
dialogBox.setAnimationEnabled(true); 
dialogBox.setText("My broken dialog box"); 
VerticalPanel contentPanel = new VerticalPanel(); 
contentPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); 
contentPanel.setSpacing(4); 
TextArea ta = new TextArea(); 
ta.setCharacterWidth(90); 
ta.setVisibleLines(40); 
ta.setReadOnly(true); 
ta.setText(sb.toString()); 
contentPanel.add(ta); 
Button closeButton = new Button("Close Button"); 
closeButton.addClickHandler(new ClickHandler() {public void onClick(ClickEvent event) {dialogBox.hide();}}); 
contentPanel.add(closeButton); 
dialogBox.setWidget(contentPanel); 
dialogBox.show(); 

Dialog box with right side clipped off (for some reason)

也許我做一些根本性的錯誤在我的佈局代碼?任何幫助非常感謝。

克里斯

+0

您是否嘗試了不同的瀏覽器? – nikagra 2011-06-11 12:27:56

回答

2

確定。我將在這裏回答我自己的問題(但我會讚揚迄今爲止提供的有用建議)。

裁剪的原因是我自己的錯誤。我已經覆蓋了默認的對話框樣式在我自己的CSS文件如下:

.gwt-DialogBox { 
    width: 400px; 
} 

糟糕。對不起,我發佈這個問題之前沒有抓住這個。

+0

我在我的css文件中有完全相同的語句。可能這是來自原型gwt/example項目的東西?無論如何刪除它修復了這個問題。 – membersound 2013-02-12 13:58:49

1

VerticalPanelScrollPanel

ScrollPanel scrollPanel = new ScrollPanel(contentPanel); 
dialogBox.setWidget(scrollPanel); 
+0

是的,這是一個好主意。 – Chris 2011-06-11 13:43:24