質問

GXTでは、MessageBox方法は、メッセージボックスが表示されている間に、アプリケーションが「ロックアップ」しないことを意味し、非同期である。

私は(フォームは、キー入力によって提出されることを可能にする、すなわち、ユーザビリティを高めるために)、その後、アプリケーションがユーザーの資格情報を処理しながら、フォームフィールドを無効にする形でキーの押下を入力処理するKeyListenerを使用します。彼らは間違っている場合は、私がMessageBox.alert()し、フォームフィールドを再度有効を示しました。 alert()を直ちに返すので、フォームフィールドが直ちに警告を閉じずに入力データをユーザに可能にする、再び利用可能になる。

この溶液をalert()にコールバックを使用することです。ただし、キーの押下を入力を提出するフォームを原因とするだけでなく、(フォームやメッセージボックスの両方が入力したキーを処理しているかのように)すぐに却下する警告の原因となるだけではなく。ユーザーを押すが、二回目を入力するか、「OK」ボタンをクリックするまではどのように警告ボックスのオープンを維持していますか?

役に立ちましたか?

解決

キーは<のhref = "http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/index.html?com/google/gwt/user/client/DeferredCommandによって提供さDeferredCommandです。 HTML」のrel = "nofollowをnoreferrer"> GWTするます:

  

このクラスはaddCommand(Command)またはaddCommand(IncrementalCommand)方法を使用して、すべての現在保留中のイベントハンドラが完了した後、あなたがコードを実行することができます。あなたは現在のスタックのコンテキストの外でコードを実行する必要がある場合に便利です。

if(!validate())
{
    DeferredCommand.addCommand(new Command() {
        public void execute() {
            MessageBox.alert("Error", "You must enter a username and password.", alertListener);
            return;
        }
    });
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top