
ロストフォーカスイベント時のその他のイベント(ボタンイベント)の中止方法
フィールドのロストフォーカスイベントで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ランキング
-
c# 文字列の最後から1文字削除...
-
GridViewの項目編集(初歩)
-
Fancyboxのiframe内に閉じるボタン
-
Eclipseでクリーンが出来ない
-
asp.net メッセージボックス表...
-
MFC ボタンのEnableについて
-
Spread.NETの行削除について
-
CheckBoxをボタン形式にして押...
-
メール添付されたPDFファイルが...
-
エクセルにカウンターを設置したい
-
今日はみんなベストアンサー押...
-
Page_Load時にボタンクリックイ...
-
押す
-
VBAでHTTPログイン
-
getParameterで値が取得できず...
-
コネクション・セッション・ト...
-
PHPからWindowsログインユーザ...
-
ボタンをクリックした時に、入...
-
Webページ上のボタン等の位置を...
-
XMLHTTPを用いて認証が必要なUR...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで一時中断したプログラムの...
-
Eclipseでクリーンが出来ない
-
c# 文字列の最後から1文字削除...
-
メール添付されたPDFファイルが...
-
DataGridViewのチェックボック...
-
SPREADでカーソルの位置を1行目...
-
GridViewの項目編集(初歩)
-
グリッドビューでのチェックボ...
-
JSPでメッセージボックスを表示...
-
EXCEL2010でセルが編集中かを判...
-
Fancyboxのiframe内に閉じるボタン
-
Seasar2環境での画像リンクの作成
-
Javascriptの電卓を作る課題に...
-
今更、VBAでRPA、キーボード操...
-
Ctrlキーを押しながらのダブル...
-
Webブラウザの閉じるボタン無効...
-
ブラウザの×ボタン(閉じるボタ...
-
VC++ MFC CListCtrlで、ボタン...
-
[Android] Notificationでない...
-
メッセージボックスのボタンの...
おすすめ情報