我的模式窗口有问题。我将这两个方法称为 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 的属性,这就是您收到异常的原因。
以正确的顺序应用属性(在您的情况下,在 ShowModalMask()
之后应用 centerInPage()
)以避免此类异常。
关于java - SmartGWT 模态窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14772234/