キーイベントの発生順番
TextAreaでのキーイベントの発生順序は下記の通りになりますが、TextAreaにその文字が入力されるタイミングに注意する必要があります。
- Down ・・・ 入力前発生
- Press ・・・ 入力前発生
- Up ・・・ 入力後発生
キーコードの検知
現在入力されたキーのコードを検知するには、
- KeyPressEvent
KeyPressとKeyUpを組み合わせる
KeyPressEventでキーの内容を検知し、KeyUpEventでTextAreaの中身を取ってくる(消す)という手順が必要です。例えば以下の様な記述になります。
@UiHandler("textArea") void onEnterKey(KeyPressEvent e) { System.out.println("Press"); if (e.getCharCode() == KeyCodes.KEY_ENTER) { isEnter= true; } } @UiHandler("textArea") void onUpKey(KeyUpEvent e) { System.out.println("Up"); if (isEnter) { /*ここでなんらかの処理をする*/ isEnter=false; } }なお、上記のコードはUiBinder利用時の記述です。
0 件のコメント:
コメントを投稿