我对模态窗口有疑问。我将这两个方法称为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();
最佳答案
您得到的异常是有效的。在任何与GWT相关的技术中,您都可以找到许多API功能来设置GWT小部件的属性。例如,对于Window
小部件,您具有setWidth
,setHeight
,centerInPage
等。
现在,其中某些属性必须在将小部件呈现在浏览器的DOM中之前应用,而其中某些属性必须在将小部件呈现在浏览器的DOM中之后应用。ShowModalMask()
是只能在呈现窗口小部件之前设置的属性。centerInPage()
是在浏览器的DOM中呈现Window的属性,这就是您获取异常的原因。
以适当的顺序应用属性(在您的情况下,在centerInPage()
之后是ShowModalMask()
)可以避免这种异常。