GXTでは、MessageBox
メソッドは非同期です。つまり、メッセージボックスが表示されている間にアプリケーションが「ロックアップ」しないことを意味します。GXT KeyListener.componentKeyDown()はすぐにMessageBox.alert()を閉じます
私はを使用して、フォームの入力キーの処理(使いやすさを向上させる、つまり入力キーによるフォームの送信を許可する)を行い、アプリケーションがユーザーの資格情報を処理している間にフォームフィールドを無効にします。それらが間違っている場合、私はMessageBox.alert()
を表示し、フォームフィールドを再度有効にします。ただし、すぐにalert()
が返されるので、フォームフィールドは直ちに再び利用可能になり、ユーザーはアラートを閉じずにデータを入力できます。
解決策は、alert()
でコールバックを使用することです。ただし、入力キーを押すだけでフォームが送信されるだけでなく、フォームとメッセージボックスの両方でEnterキーが処理されているかのように、アラートが直ちに解除されます。ユーザーがもう一度Enterを押すか「OK」ボタンをクリックするまで、アラートボックスを開いたままにするにはどうすればよいですか?