Foros del Web » Programación para mayores de 30 ;) » Java »

Problemas con el tratamiento de datos de un JPanel

Estas en el tema de Problemas con el tratamiento de datos de un JPanel en el foro de Java en Foros del Web. Hola. Estoy haciendo una aplicación con varios JPanel y en uno de ellos pongo un GridBagConstraints con: -3 columnas -Varias filas con 3 JTextField (las ...
  #1 (permalink)  
Antiguo 17/06/2013, 11:09
 
Fecha de Ingreso: noviembre-2011
Mensajes: 3
Antigüedad: 12 años, 5 meses
Puntos: 0
Problemas con el tratamiento de datos de un JPanel

Hola.
Estoy haciendo una aplicación con varios JPanel y en uno de ellos pongo un GridBagConstraints con:
-3 columnas
-Varias filas con 3 JTextField (las filas pueden haber más o menos dependiendo del dato que muestro).
-La ultima fila es un botón que ocupa las 3 columnas para ir añadiendo filas

Hacer el panel lo consigo, ampliar las filas y volver a poner el botón al final también.

El problema al querer recuperar los datos de las celdas para tratarlos después.
No se como recuperar solo los JTextField evitando los label y el boton.
Me pensaba que con getComponents() me devolveria todo lo que le he metido en el mismo orden en que lo metí, pero lo primero que puse fue los label y al recuperar los componentes me da los JTextField primero.

En un principio he puesto lo siguiente:
Código Java:
Ver original
  1. public ArrayList <String[]> getArlIngredientes() {
  2.                 ArrayList <String[]> b = new ArrayList <String[]> ();
  3.                 Component [] a = this.panelIngredientes.getComponents();
  4.                 int i = 0;
  5.                 JTextField j;
  6.                 String[] s = {"","",""};
  7.                 for (int e=0; e<this.panelIngredientes.getComponentCount()-1;i++){
  8.                         j = (JTextField) a[e];
  9.                         s[0] = j.getText();
  10.                         e = e+1;
  11.                         j = (JTextField) a[e];
  12.                         s[1] = j.getText();
  13.                         e = e+1;
  14.                         j = (JTextField) a[e];
  15.                         s[2] = j.getText();
  16.                         System.out.println(s[0]+s[1]+s[2]);
  17.                         b.add(i, s);
  18.                         e= e+1;
  19.            
  20.                 }
  21.                 return b;
  22.         }
¿Como puedo identificar los diferentes componentes?

Al principio había puesto e=2 para evitar los 3 label primeros y el -1 es para no tratar el botón que es el ultimo. Pero he visto que en el 0 viene el primer JTextField y cuando terminan los JTextField casca porque no puede castear a JTextField.


Gracias por adelantado.

Última edición por razpeitia; 17/06/2013 a las 18:19

Etiquetas: jpanel, string, tratamiento
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:05.