为什么我的(纯)GWT对话框没有正确剪裁?

时间:2011-06-11 12:19:37

标签: java gwt

我目前正在编写一个纯GWT(2.3)应用程序,我需要使用一个对话框。我按照文档中的示例进行操作,它们可以正常工作。

我的要求是显示一个对话框,在一个可滚动的文本区域中显示一些带有关闭按钮的文本(暂时)。问题是我的对话框面板的右侧被剪掉了(如果我的术语不正确,请纠正我)。我将包括一些示例代码和结果对话框,而不是更多地解释它。

// 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)

也许我在布局代码中做了一些根本错误的事情?任何帮助非常感谢。

克里斯

3 个答案:

答案 0 :(得分:2)

尝试更改DialogBox word-wrapoverflow属性的样式 1)GWT DialogBox javadoc
2)GWT styles

答案 1 :(得分:2)

行。我将在这里回答我自己的问题(但我会提出迄今为止给出的有用建议)。

裁剪的原因是我自己的错误。我在我自己的css文件中覆盖了默认的dialogBox样式,如下所示:

.gwt-DialogBox {
    width: 400px;
}

糟糕。很抱歉在我发布问题之前没有抓住这个。

答案 2 :(得分:1)

VerticalPanel包裹ScrollPanel

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