JFormattedTextField.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JFormattedTextField

JFormattedTextField Formatted text fields提供了一个定义其合法输入内容的方法。JFormattedTextField继承在JTextField,在其基础上添加了一个Formatter。 JFormattedTextField扩展了JTextField,添加了对格式化任意值的支持,以及一旦用户编辑了文本就检索特定对象的支持。例如使用JFormattedTextField来编辑日期: JFormattedTextField ftf = new JFormattedTextField(); ftf.setValue(new Date()); 一旦创建了JFormattedTextField,可以通过添加PropertyChangeListener的方式来侦听编辑更改,并且使用属性名value来侦听PropertyChangeEvent。 JFormattedTextField允许配置在失去焦点时应该采取的措施,可能的值有: JFormattedTextField.REVERT 回复显示以匹配getValue,可能失去当前的编辑内容。 JFormattedTextField.COMMIT 提交当前值。如果AbstractFormatter不认为所编辑的值是合法值,则抛出ParseException,然后不更改该值并保留已编辑的值。 JFormattedTextField.COMMIT_OR_REVERT 和COMMIT相似,但如果该值不合法,则其行为类似于REVERT。 JFormattedTextField.PERSIST 不执行任何操作,不获取新的AbstractFormatter也不更新该值。 COMMIT_OR_REVERT是默认值。 JFormattedTextField允许焦点离开,即使当前编辑的值是无效的也是如此。要做JFormattedTextField处于无效编辑状态时锁定焦点,可以附加一个InputVerifier。例如: public class FormattedTextFieldVerifier extends InputVerifier { public boolean verify(JComponent input) { JFormattedTextField ftf = (JFormattedTextField)input; AbstractFormatter formatter = ftf.getFormatter(); if ( formatter != null) { String text = tft.getText(); try { formatter.stringToValue(text); return true; } catch ( ParseException pe) { return false; } } } return true; } public boolean shouldYieldFocus(JComponent input) { return verify(input); } public abstract static class JFormattedTextField.AbstractFormatter extends Object implements Serializable JFormattedTextField所使用的AbstractFormatter实例,用于处理从Object到String和从String到Object的转换。AbstractFormatter可以强制执行编辑策略,或者知道策略的执行,或者以任何适合于强制执行所需策略的方式操作JFormattedTextField。 AbstractFormatter一次只能在一个JFormattedTextField中处于激活状态。JFormattedTextField准备好使用install时即调用它,完成调用后uninstall。希望安装其他状态的子类硬挨重写install并适当地通知超类。 子类必须重写转换方法stringToValue和valueToString。子类可以重写getActions、getNavigationFilter和getDocumentfilter,以便以特定的方式限制JFormattedTextField。 使用Swing提供的formatter,可以轻易的为日期和数字建立formatted text field。另外一种formatter可以使用一个字符罩来规定在field中的每一个可以输入字符的位置。例如,可以为电话号码定义一个特殊的格式,如(xx)x-xx-xx-xx-xx。 使用spinner来替代JFormatt

文档评论(0)

bm5044 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档