JFormattedTextFieldからフォーカスが失われた場合の処理を設定する
Total: 3659
, Today: 8
, Yesterday: 0
Posted by aterai at
Last-modified:
概要
JFormattedTextField
からフォーカスが失われた場合に実行するアクションを設定してテストします。
Screenshot
Advertisement
サンプルコード
JFormattedTextField ftf = new JFormattedTextField();
try {
MaskFormatter formatter = new MaskFormatter("UUUUUUUUUU");
ftf.setFormatterFactory(new DefaultFormatterFactory(formatter));
ftf.setFocusLostBehavior(JFormattedTextField.COMMIT)
} catch (ParseException ex) {
ex.printStackTrace();
}
View in GitHub: Java, Kotlin解説
JFormattedTextField.COMMIT_OR_REVERT
JFormattedTextField
のデフォルト- フォーカスが失われたとき正当な値の場合は値を確定し不当な値の場合は前回値に戻す
JFormattedTextField.REVERT
- フォーカスが失われたとき常に前回値に戻す
- 編集を確定するには
JFormattedTextField#commitEdit()
を自前で呼ぶか、DefaultFormatter#setCommitsOnValidEdit(true)
と設定(文字列が編集されるたびにcommitEdit
が自動的に呼び出される)する必要がある
JFormattedTextField.COMMIT
- フォーカスが失われたとき現在の値を確定する
- 現在の値が正当な値でない場合でも、その値がそのまま残る
JFormattedTextField.PERSIST
- フォーカスが失われたとき何も処理しない