Problema com arraylist

4 respostas
luiz_ross
Galera, to com um problema, não estou conseguindo gravar os dados digitados dentro de um JTextField dentro de um ArrayList, o que há de errado nesse código, sei que é coisa boba mas........... :oops: ?
List lista = new ArrayList();
  for(int i = 0; i < lista.size(); i++){
         lista.add(jTextField.getText());
         jTextField.setText("");
         System.out.println("Testando ArrayList - "+lista.get(i));
     }

4 Respostas

Paulo_Silveira

por mim isso ai entra em loop infinito, ja que toda vez que voce adiciona um cara na lista, ele aumenta de tamanho, e seu loop nunca acaba. isso soh vai acontecer se a lista nao estiver vazia, senao nem entra.

Sua condicao do for que esta estranha. mas como nao sabemos porque voce quer fazer um loop ai…

luiz_ross

Foi uma má explanação do problema, foi mal Paulo!!!Reformulando, eu preciso pegar os dados digitados em um textfield e a cada Enter que eu der irá guardar-los num ArrayList, efetuar a soma desses valores pois os dados irão variar a cada entrada do usuario no sistema, um exemplo, num dia o cara digita 10 valores e efetua a soma e guarda num banco por exemplo, no segundo dia digita 15 valores, no terceiro 7 e por ai vai!!!
Meu problema esta em guardar os dados no arraylist e e zera-lo depois de usá-lo. E o que vc disse Paulo acontece realmente, fica num loop infinito!!!

Paulo_Silveira

entao voce nao vai deixar num FOR
voce tem de deixar dentro de um Actionlistener (ou um KeyListener para o ENTER) e registra-lo no seu textfield (textField.addActionListener(objetoQueEhOListener). Ai la dentro, voce da um add na arraylist, e sai fora, SEM loop.

ozielneto

Na verdade, o for nem é executado, pois o tamanho inicial é ZERO…

É que no Java, muito melhor e bem diferente das outras “linguagenzinhas”, e como o Paulo falou, você deve implemetar um Listener de Eventos de Teclado para o JTextField, que entenda o Enter ou Tab. E para cada Enter ou Tab, ele coloque a String num ArrayList.

http://java.sun.com/j2se/1.4.1/docs/api/java/awt/AWTEvent.html

[]'s

Bom trabalho.

Criado 27 de maio de 2003
Ultima resposta 28 de mai. de 2003
Respostas 4
Participantes 3