【问题标题】:add space after each group of three numbers in java text area在java文本区域中每组三个数字后添加空格
【发布时间】:2021-04-19 11:58:36
【问题描述】:

我有一个文本区域,其中输入只是数字,我想将文本按三个分组,这意味着在每组三个数字之后添加空格。 任何帮助如何实现它?

示例: 如果我想输入 123456 它将自动输入为“123 456”,每三个数字后自动添加一个空格。

我想这将在 TextValueChanged(java.awt.event.TextEvent evt) 中完成,对吗?但是如何?

【问题讨论】:

  • 欢迎来到 Stack Overflow!提问前请阅读what this site is about 和“How to ask”。很难说出这里问的是什么,而且这个问题不能以目前的形式得到合理的回答。请提供您所做工作的上下文和/或发布代码示例。
  • @Matt 感谢您的建议。编辑后现在好吗?

标签: java swing user-interface jtextarea


【解决方案1】:

逐个迭代您的输入数字,每三个索引绘制一个空格。 从 0 开始,这将是 i = 2, 5, 8 ... 处的空格 ...

for(int i = 0; i < inputNumbers.length; i++;)
{
    if((i+1)/3 == 1) //this is just a janky condition i pulled out of my ear in a sec, you'll find a better one
    {
        //draw your number
        //draw a space
    }
}

【讨论】:

  • 应该可能使用正则表达式模式,以便可以同时进行验证。即:12A3509 应该失败并记录原因。我的 regex-fu 生锈了,但它就像“([0-9]{3})+”,你可以遍历组并突出显示不合格的部分。
  • @RandomCoder_01 类似这样的代码?? :private void codeTextValueChanged(java.awt.event.TextEvent evt) { // TODO add your handling code here String var =code.getText(); var = var.replace(/([0-9]{3})/g, "$1 "); }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-17
  • 1970-01-01
相关资源
最近更新 更多