【问题标题】:SmartGWT modal windowSmartGWT 模态窗口
【发布时间】:2013-02-11 15:16:40
【问题描述】:

我对模态窗口有疑问。我将这两种方法称为setIsModal(true)setShowModalMask(true),但为什么我的窗口不是模态的?

这是代码:

Window summaryWindow = new Window();
summaryWindow.setWidth(950);
summaryWindow.setHeight(620);
summaryWindow.centerInPage();
summaryWindow.setCanDragReposition(false);
summaryWindow.setIsModal(true);
summaryWindow.setShowModalMask(true);
summaryWindow.setShowMinimizeButton(false);
summaryWindow.setTitle("Example");
summaryWindow.addItem(new Button("Example");
summaryWindow.show();

【问题讨论】:

标签: java gwt smartgwt


【解决方案1】:

您得到的异常是有效的。在任何与 GWT 相关的技术中,您都会发现许多 API 功能来设置 GWT 小部件的属性。例如,对于您拥有的Window 小部件,setWidthsetHeightcenterInPage 等...

现在必须在小部件在浏览器的 DOM 中呈现之前应用其中一些属性,而其中一些必须在小部件在浏览器的 DOM 中呈现之后应用。

ShowModalMask() 是一个只能在小部件呈现之前设置的属性。 centerInPage() 是在浏览器的 DOM 中呈现 Window 的属性,这就是您收到异常的原因。

以正确的顺序应用属性(在您的情况下,centerInPage()ShowModalMask() 之后)以避免这种异常。

【讨论】:

    【解决方案2】:

    我正在使用 smartgwt 2.4:如果我尝试使用包含在方法中的按钮调用您的代码,我会收到一个错误,表明我无法使用 setModalMask (IllegalStateException - this property cannot be changed after the component has been created) 修改它。 在实例化之后移动此调用后它正在工作:

    Window summaryWindow = new Window();
    summaryWindow.setShowModalMask(true);
    

    我不太明白,但如果它也适合你,请告诉我

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-22
      • 1970-01-01
      相关资源
      最近更新 更多