【问题标题】:Question about JTextField and text format with numbers?关于 JTextField 和带数字的文本格式的问题?
【发布时间】:2011-03-31 10:00:22
【问题描述】:

我使用 Swing 编写应用程序。我的应用程序有一个文本框,我想要做的是:当用户在该文本字段中输入一个数字时,如果数字是千位,那么它会自动在数字中附加一个逗号。 例如,如果用户输入 1000,那么它应该自动更改为 1,000,或者 1,000,000 左右。

有人给我一些想法吗?

【问题讨论】:

  • 在事件监听器中做点什么?你觉得哪一部分难?

标签: java swing formatting


【解决方案1】:

试试formattedTextFields

还有one more example。可能对你有帮助。

【讨论】:

    【解决方案2】:

    您可以使用DecimalFormatNumberFormat 类。 在此处查看示例; http://www.exampledepot.com/egs/java.text/FormatNum.html

    更新:

    例子:

    NumberFormat numberFormatter = new DecimalFormat("#,###,###");
    String formattedNumber = numberFormatter.format(10000000);
    
    JTextField numberTextField = new JTextField();
    
    numberTextField.setText(formattedNumber);
    

    【讨论】:

    • @Mudassir: @SamG: 我们可以这样在文本字段中显示数字吗?它只是格式化数字。不是吗?
    • @mudassir,格式化文本字段是在 GUI 中处理此问题的更合适的答案。
    • @Harry Joy:是的,我们可以通过这种方式在 TextFields 中显示数字。查看更新后的答案。
    • @Mudassor:OP 希望在用户输入 textField 时格式化数字。不是这样的。我知道这种做法。但这不是 OP 根据我理解他的问题提出的问题。但是 OP 已经接受了你的回答,所以享受代表点数。 ;-)
    • @Harry:我不知道 FormattedTextFields 这就是我建议它的原因,你的方式当然最适合。
    【解决方案3】:

    查看DecimalFormat 中的组分隔符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-23
      • 1970-01-01
      • 2011-05-24
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多