1

モーダルウィンドウに問題があります。setIsModal(true)私はこの 2 つのメソッドを呼び出します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();
4

2 に答える 2

2

取得している例外は有効です。GWT 関連のテクノロジには、GWT ウィジェットのプロパティを設定するための多くの API 機能があります。たとえば、、、などのウィジェットのWindow場合...setWidthsetHeightcenterInPage

現在、これらのプロパティの一部は、ウィジェットがブラウザーの DOM でレンダリングされる前に適用する必要があり、一部は、ウィジェットがブラウザーの DOM でレンダリングされた後に適用する必要があります。

ShowModalMask()ウィジェットがレンダリングされる前にのみ設定できるプロパティです。 centerInPage()ブラウザの DOM で Window をレンダリングするプロパティです。これが、例外が発生する理由です。

この種の例外を回避するには、適切な順序でプロパティを適用します (この場合はcenterInPage()後)。ShowModalMask()

于 2013-02-11T07:16:40.397 に答える
0

私は smartgwt 2.4 を使用しています。メソッド内に呼び出しボタンを配置してコードを試すと、setModalMask( IllegalStateException - this property cannot be changed after the component has been created) で変更できないことを示すエラーが表示されます。インスタンス化の直後にこの呼び出しを移動すると、次のように機能します。

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

よくわかりませんが、あなたにも効果があるかどうか教えてください

于 2013-02-09T14:16:31.257 に答える