【问题标题】:From JTextField to JFormattedTextField从 JTextField 到 JFormattedTextField
【发布时间】:2015-02-02 06:34:51
【问题描述】:

在 NetBeans 中,我创建了一个包含许多 JTextField 的项目。现在我明白我应该验证它。是否可以将文本字段“投射”到JFormattedTextField's?

【问题讨论】:

  • “可以将文本字段“转换”为 JFormattedTextField 的吗?” 不,不是。不过,考虑到JFormattedTextField 是从JTextField 扩展而来的,反过来也是可能的。
  • 所以我必须删除所有 JTexFields 并添加格式化字段?
  • 不一定,但强烈推荐。另一方面,您可以让类的变量声明为JTextField,并通过自定义代码将它们初始化为JFormattedTextField。然后您可以稍后“安全地”将它们转换为JFormattedTextField。不过,这听起来像是一个肮脏的解决方法。
  • 这些有多少?除非你能数出数百个,否则我认为这没什么大不了的。任何体面的 IDE 都将允许在单独确认的情况下将 JTextField 替换为 JFormattedTextField 进行全局替换,并且通过目视检查每一个的一百或两个不应该超过一两个小时。当然,一旦按照您想要的方式声明了这些代码,您就可以进行其他编码,但是由于 JFormattedTextField 扩展了 JTextField (所以所有 JTextField 方法使用仍然可以),我不明白为什么这会很重要更改所有声明。

标签: java swing validation jtextfield jformattedtextfield


【解决方案1】:

可以将文本字段“投射”到JFormattedTextField 的吗?

不,不是。至少不是直接的。不过,考虑到JFormattedTextField 是从JTextField 扩展而来的,反过来也是可以的。

所以我必须删除所有 JTexFields 并添加格式化字段?

不一定,但强烈推荐。另一方面,您可以让类的变量声明为JTextField,并通过自定义代码将它们初始化为JFormattedTextField

然后您可以稍后“安全地”将它们转换为JFormattedTextField。但是,我想再强调一次,这听起来像是一种肮脏的解决方法。另请注意,您将无法将setText(...) 代码更改为setValue(...),这是格式化文本字段的首选。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-05
    • 2021-08-07
    • 2015-10-06
    • 2014-10-07
    • 2013-08-12
    • 1970-01-01
    • 2015-11-24
    • 2012-10-04
    相关资源
    最近更新 更多