JFormattedTextField.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JFormattedTextField

JFormattedTextFieldFormatted 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 SerializableJFormattedTextField所使用的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来替代JFormattedTextField,spinner在使用一个formatted text fi

您可能关注的文档

文档评论(0)

cj80011 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档