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

Instanciar objeto con nombre de JTextField

Estas en el tema de Instanciar objeto con nombre de JTextField en el foro de Java en Foros del Web. Saludos Java Programmers: Hoy necesito de vuestros conocimientos y sabiduría para solventar un pequeño problema ( para mí es grande todavía XD ). Tengo un ...
  #1 (permalink)  
Antiguo 03/12/2011, 10:53
Avatar de oscarsb1988  
Fecha de Ingreso: abril-2010
Mensajes: 40
Antigüedad: 14 años
Puntos: 0
De acuerdo Instanciar objeto con nombre de JTextField

Saludos Java Programmers:

Hoy necesito de vuestros conocimientos y sabiduría para solventar un pequeño problema ( para mí es grande todavía XD ).

Tengo un formulario con una serie de JtextFields que el usuario tiene que rellenar. Una vez rellenados, deberá pulsar un JButton que automáticamente creará un objeto con el nombre del contenido de un JTextField.

Me quedaría algo así el instanciarlo utilizando el constructor.:

Código JAVA:
Ver original
  1. Cliente txt1.getText() = new Cliente(txt1.getText(),txt2.getText(),txt3.getText(),0,null);

El problema es que no tengo ni idea de como instanciar el objeto con nombre, lo introducido en el JTextField1.

Alguna idea? Gracias
  #2 (permalink)  
Antiguo 03/12/2011, 12:14
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Instanciar objeto con nombre de JTextField

En Java, no puedes crear una variable dinámica como en PHP.

Los nombres de los objetos los tienes que declarar tú, por eso lo que estás intentas no se puede hacer.

Lo que si puedes hacer es crearte un HashMap con claves de tipo string y valores del tipo de la variable que quieres guardar.

Un ejemplo:

Código Java:
Ver original
  1. HashMap<string,Cliente> clientes = new HashMap<string,Cliente>();
  2.  
  3. clientes.add(txt1.getText(),Cliente(txt1.getText(),txt2.getText(),txt3.getText(),0,null));

Etiquetas: instanciar, jtextfield, nombre, objeto
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 03:00.