如何获取“JTextField 数组”的值并将其存储在 Array Integer 中?

Posted

技术标签:

【中文标题】如何获取“JTextField 数组”的值并将其存储在 Array Integer 中?【英文标题】:How can I get the value of the 'Array of JTextField' and store it in an Array Integer? 【发布时间】:2020-05-13 22:32:38 【问题描述】:

我有两个 JTextField 数组,我想将它存储到另一个数组中。

JTextField[] proText, atText; 


int[] burst, arrive;

我已经尝试过传递数组值的常用方法

while(true)
    if(atText[lowerBound].getText() != " " && proText[lowerBound].getText() != " ")
        bt = proText[lowerBound].getText();
        at = atText[lowerBound].getText();
        burst[lowerBound] = Integer.parseInt(bt);
        arrive[lowerBound] =Integer.parseInt(at);
        break;
    else 
        break;

***当我单击按钮时,'lowerBound' 正在递增。

顺便说一句,这是动态的,当我单击按钮时它会添加另一个文本字段。这里的问题是只显示最后一个数字,其余的都是零。还有其他方法可以获取文本字段的值吗?

【问题讨论】:

我不明白你想做什么?但首先,如果您要比较字符串,请使用 equals 而不是 == 它将检查文本字段是否为空 如果你想检查null,使用getText() == null,如果你想检查空白使用getText().trim().isEmpty() 但不要使用==对于字符串 是的,谢谢。但是还有另一种方法可以获取 JTextField 的值并将其存储在 int 数组中吗? 使用getText是获取JTextField文本的方法。 while 循环到底是做什么的? 【参考方案1】:

我读了你的代码,问题很简单,每次你点击一个按钮,你都会重新初始化你的数组。当然,以前的值会丢失。

快速解决方法是先复制值,然后将新值存储在您的 actionPerformed 方法中

int[] atTemp = new int[arrsize];
int[] btTemp = new int[arrsize];
for (int i = 0; i < arrsize - 1; i++) 
    atTemp[i] = at[i];
    btTemp[i] = bt[i];

at = atTemp;
bt = btTemp;

但是,如果您不知道数组的大小,请使用ArrayList,那么您不必在每次点击按钮时都重新初始化数组。

【讨论】:

嗨,谢谢您的帮助,我得到了问题的答案。尽管我花了一段时间才意识到有一种更有效的解决方法。谢谢你。感谢您提到真正有很大帮助的 arraylist。

以上是关于如何获取“JTextField 数组”的值并将其存储在 Array Integer 中?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 map() 与来自 axios 响应的数据一起使用?

如何获取 ValueProvider 的值并将其写入 BigQuery 表?

SQL - 如何获取列的值并将其作为新列的值放在字符串的末尾

如何使用 jQuery 获取复选框的值并将它们吐到不同的表单字段中

如何查询随机数量的值以获取唯一 ID 并将它们连接成一个?

如何在firebase(swift)中获取子节点的值,并将其显示在视图控制器的标签中