如何获取“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 - 如何获取列的值并将其作为新列的值放在字符串的末尾