Ayuda al crear objetos
Buenas tardes, yo en un formulario introduzco 4 JTextField de la siguiente manera:
Los datos los cojo de una tabla, y se me colocan todos bien en mi formulario. Mi pregunta es cuando pulse un botón de modificar, como hago para que todos esos controles se me activen, ya que si hago lo siguiente:
txt.setEnabled(true);
Solo se me activa el último que he introducido.
Gracias y un saludo.
- Inicie sesión o regístrese para enviar comentarios
Puedes obtener todos los
Puedes obtener todos los componentes de tu
, y mediante un ciclo, checar si son del tipo que necesitas (
) y hacer lo que necesitas:
Algo así.
Buenos días, estoy probando
Buenos días, estoy probando el ejemplo que me pusiste pero en ningún caso me sale la propiedad "getContentPane()" ni la propiedad "getComponents()".
He probado con "frmClientes.getComponents()" y con "JFrame.getComponents" y no me aparecen esas propiedades.
Espero que me ayuden, seguro que alguien esto lo ha hecho alguna vez para recorrer los componentes de un formulario.
Un saludo.
Lo que sucede qes que solo
Lo que sucede qes que solo tienes una variable ( llamada txt ) y en cada vuelta le asignas un valor nuevo.
Imagina lo siguiente:
Al final del ciclo dia tiene como valor dom.
Lo que necesitas hacer como dice neko (indirectamente) es mantener esos txt en una lista/arreglo/algo y luego iterarlos
Más que indirectamente
Lo que dice Oscar es cierto (indirectamente ;-) ) porque puedes crear dinámicamente en tu ciclo
un montón de objetos
PERO si los declaras e inicializas dentro del ciclo;
Al componente que le estás agregando tus
es el que funge como contenedor, supongamos que es un
, entonces, checando el JavaDoc de la clase, se nota que tiene un método
el cual te regresa un arreglo de Componentes, y sobre ése puedes aplicar el ciclo que te escribí en el ejemplo anterior. Como nota adicional, sobre las clases
y
sí existe el método
así que lo más seguro es que estés usando un
como contenedor.
Tomando la idea de Oscar, es que cada vez que crees un
lo guardes en una lista (o arreglo o collection o mapa o whatever ) y así ya sólo tendrías que buscar directamente sobre tu lista el
que necesitas, buscándolo por el nombre que le otorgas al principio.
De cualquier forma tienes que hacer un ciclo, de éso no te salvas :-)
Espero no haberte revuelto más, saludos.