我有两个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”正在增加。
顺便说一句,这是动态的,当我单击按钮时,它会添加另一个JTextField。这里的问题是仅显示最后一个数字,其余为零。还有另一种方法来获取JTextField的值吗?
答案 0 :(得分:0)
我阅读了您的代码,问题很简单,每当您按下其中一个按钮时,都会重新初始化数组。在币种中,先前的值将丢失。
一种快速的解决方法是先复制值,然后将新值存储在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
,则不必在每次按下按钮时都重新初始化数组。