我对模态窗口有疑问。我将这两个方法称为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小部件,您具有setWidthsetHeightcenterInPage等。

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

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

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

07-25 23:56