Как я могу получить значение 'Array of JTextField' и сохранить его в целочисленном массиве? - PullRequest
0 голосов
/ 28 января 2020

У меня есть два массива 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;
    }

*** «нижняя граница» увеличивается, когда я нажимаю кнопку.

Кстати, это динамический c, в котором он добавляет еще один JTextField, когда я нажимаю кнопку. Проблема здесь в том, что отображается только последний номер, а остальные равны нулю. Есть ли другой способ получить значение JTextField?

1 Ответ

0 голосов
/ 28 января 2020

Я прочитал ваш код, проблема проста: каждый раз, когда вы нажимаете одну из кнопок, вы перезапускаете свои массивы. Конечно, предыдущие значения будут потеряны.

Быстрое решение - сначала скопировать значения, а затем сохранить новое значение в вашем 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, тогда вам не нужно будет заново инициализировать ваш массив при каждом нажатии кнопок.

...