
ロストフォーカスイベント時のその他のイベント(ボタンイベント)の中止方法
フィールドのロストフォーカスイベントで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で質問しましょう!
似たような質問が見つかりました
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- gooブログ Twitterの動画画面をgooブログに埋め込めない 4 2022/06/03 16:40
- プリンタ・スキャナー キャノンmp490プリンター【エラー番号5400】で【プリンタートラブルが発生しました。電源を入れ直 2 2023/07/24 17:45
- Excel(エクセル) excelvbaのenableeventsについて 3 2022/08/30 11:20
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- gooのスマホ スマホF-51Bに緊急時情報画面でロックが掛かって解除できません。 3 2023/06/18 23:05
- Excel(エクセル) 【マクロ】ボタンを押すごとに、A1セル、A2セル、A3セルに日付を入力 3 2023/01/25 00:12
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで一時中断したプログラムの...
-
Eclipseでクリーンが出来ない
-
C# Enterキーの動作について
-
初期状態に戻す方法
-
SPREADでカーソルの位置を1行目...
-
メッセージボックスのボタンの...
-
javascript 別ウィンドウを開...
-
c# 文字列の最後から1文字削除...
-
VBのこのコードの意味を教えて...
-
GridViewの項目編集(初歩)
-
asp.net メッセージボックス表...
-
複数のSubmitボタンをname属性...
-
グリッドビューでのチェックボ...
-
Javascriptの電卓を作る課題に...
-
JSPでボタンを押したら、文字が...
-
最小化ボタン
-
マウスのボタン判定について
-
ASP.net MVC セッションハイジ...
-
PageLoadの後にJavascript実行...
-
getParameterで値が取得できず...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで一時中断したプログラムの...
-
c# 文字列の最後から1文字削除...
-
Eclipseでクリーンが出来ない
-
SPREADでカーソルの位置を1行目...
-
DataGridViewのチェックボック...
-
ブラウザの×ボタン(閉じるボタ...
-
Fancyboxのiframe内に閉じるボタン
-
メール添付されたPDFファイルが...
-
CheckBoxをボタン形式にして押...
-
今更、VBAでRPA、キーボード操...
-
VBのこのコードの意味を教えて...
-
VC++ MFC CListCtrlで、ボタン...
-
グリッドビューでのチェックボ...
-
ロストフォーカスイベントとそ...
-
GridViewの項目編集(初歩)
-
Page_Load時にボタンクリックイ...
-
C# VBAで言うexit subについて
-
JSPでボタンを押したら、文字が...
-
マウスのボタン判定について
-
EXCEL2010でセルが編集中かを判...
おすすめ情報