
ロストフォーカスイベント時のその他のイベント(ボタンイベント)の中止方法
フィールドのロストフォーカスイベントで3文字以上入力していた場合に
エラーメッセージを表示する。
フィールドに4文字値を入力して、フォーカスをフィールドにあてたまま
ボタンを押下するとロストフォーカスイベントが走り、
同時にボタンイベントも発動してしまいます。
ロストフォーカスイベント時にエラーが発生している場合は、
ボタン押下処理を中止するようにしたいのですが、可能でしょうか?
検証は、Java1.6で行っています。
No.3ベストアンサー
- 回答日時:
JButtonにあるsetActionCommandを使用して、何が実行されたかコマンドを決める方法です。
イベントが発生した時、ActionEventオブジェクトからgetActionCommandを使用しコマンドを取得すれば、
どのボタンが押されたのか、唯のロストフォーカスなのか判断できるかなと。
ただ、この方法はメニューから実行、右クリックのコンテキストメニューから実行、ボタンから実行等をすべて同じ処理にしたい場合に使用する方法なので、イベントが違うとうまくいくかどうかちょっと検証が必要です。
この回答への補足
teketonさん 回答ありがとうございます。
ロストフォーカス、ボタン押下のイベント処理で共通処理が呼ばれている場合、
共通処理にて、ロストフォーカスイベントがボタン押下のイベントかを判断する方法と
理解しました。
ロストフォーカス時にエラーとなり、メッセージダイアログがでた時点で、ボタンの
イベントは中止(または、キャンセル)されることが望ましいと思っています。
上記の前提条件の場合は、どのようにするべきでしょうか?
java1.4の時は、
ロストフォーカス時にエラーとなり、メッセージダイアログがでた時点で、ボタンの
イベントは中止(または、キャンセル)されていたのですがね・・・。
なんで、Java1.6になったら、できなくなったのか・・・。 愚痴です。
No.2
- 回答日時:
同じ人ですが、他にはActionCommandを設定する、とか。
lost focusのイベントハンドラでボタンのアクションコマンドが設定されていれば、lost focusイベントをpassさせる。
例によって試したことはありません。
この回答への補足
teketonさん、2回も回答ありがとう御座います。
teketonさんのアドバイスを検討してみましたが、よくわかりませんでした。
よろしければ、もう少し詳細に教えて頂けませんか?
以上、宜しくお願い致します。
No.1
- 回答日時:
Swing?だったら、InputVerifierを使うと良さそう。
ただ、エラーメッセージの表示がダイアログのような、フォーカスを移す場合だとどうなるかは不明。
参考URL:http://docs.oracle.com/javase/jp/1.3/api/javax/s …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで一時中断したプログラムの...
-
Fancyboxのiframe内に閉じるボタン
-
SPREADでカーソルの位置を1行目...
-
ひとつの検索窓で複数の検索サ...
-
javascript 別ウィンドウを開...
-
C# Enterキーの動作について
-
JSPでメッセージボックスを表示...
-
VBのこのコードの意味を教えて...
-
c# 文字列の最後から1文字削除...
-
C# ボタンを押すとyahooのサイ...
-
DataGridViewのチェックボック...
-
Eclipseでクリーンが出来ない
-
JSPでボタンを押したら、文字が...
-
ボタンを押したような状態にし...
-
最新ページを表示する際のF5...
-
グリッドビューでのチェックボ...
-
JSFで最初のリクエストで動く処...
-
AlertダイアログのOKボタンにつ...
-
表示ボタン押下すると、テキス...
-
一度しか押せないボタンについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで一時中断したプログラムの...
-
c# 文字列の最後から1文字削除...
-
Eclipseでクリーンが出来ない
-
JSPでメッセージボックスを表示...
-
DataGridViewのチェックボック...
-
メール添付されたPDFファイルが...
-
今更、VBAでRPA、キーボード操...
-
「押下」は「おうか」と読む?
-
javascript 別ウィンドウを開...
-
ロストフォーカスイベントとそ...
-
ブラウザの×ボタン(閉じるボタ...
-
SPREADでカーソルの位置を1行目...
-
グリッドビューでのチェックボ...
-
JSPでボタンを押したら、文字が...
-
表示ボタン押下すると、テキス...
-
Fancyboxのiframe内に閉じるボタン
-
GridViewの項目編集(初歩)
-
【C#】 : WindowsProgramming ...
-
Spread.NETの行削除について
-
Ctrlキーを押しながらのダブル...
おすすめ情報