Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/06/2012, 04:32
drasan07
 
Fecha de Ingreso: junio-2012
Mensajes: 10
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Recoger valor JTextField

Hola,
la comparación al ser cadenas la estoy haciendo con compareTo, perdón si puse == fue por escribir rápido.
El array de JTextField lo creo del tamaño de la lista y lo inicializo para cada JTextField con un nombre:
Código:
for(int i=0; i<txt.length; i++) {
	txtDescripcion = new JTextField();
	nombre = lista.get(i).toString();
	txtDescripcion.setName(nombre);
	txt[i] = txtDescripcion;
}
Después de esto hago una llamada al método que creará los paneles:
Código:
int contador = 0;
while(it.hasNext()) {
	nombreLista = it.next().toString();
	crearPanel(nombreLista, contador);
	contador++;
}
El código del método "crearPanel" sería:
Código:
public void crearPanel(String nombre, int contador) {
	panel = new JPanel();
	panel.setLayout(null);
	panelDescripciones.add(panel);
	
	lblDescr = new JLabel("Descripci\u00F3n:");
	lblDescr.setBounds(10, 23, 130, 14);
	panel.add(lblDescr);
	
	txtDescr = txt[contador];
	txtDescr.setBounds(150, 20, 400, 20);
	txtDescr.setColumns(10);
	panel.add(txtDescr);
}
Por último tengo otro método que se encarga de guardar los valores de las cajas de texto cuando se ejecuta el onClick del botón:
Código:
private void guardarTxt() {
	if(txtDescr.getName().compareTo(lista.get(0).toString()) == 0) {
		descripciones[0] = txtDescr.getText();
	}
}
Ese es todo el código que uso para generar los JTextField.
Un saludo