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

Duda con java swing

Estas en el tema de Duda con java swing en el foro de Java en Foros del Web. Hola! Soy nuevo en el foro y tengo una duda sobre el java swing. Os expongo mi problema. Resulta que tengo un vector de jButtons, ...
  #1 (permalink)  
Antiguo 02/12/2009, 04:31
 
Fecha de Ingreso: diciembre-2009
Mensajes: 1
Antigüedad: 14 años, 5 meses
Puntos: 0
Duda con java swing

Hola!
Soy nuevo en el foro y tengo una duda sobre el java swing. Os expongo mi problema.

Resulta que tengo un vector de jButtons, que lo imprimo por pantalla, i ningun problema. ahora lo que quiero es que cuando pulse un boton del vector este, cambie el texto y salga una X en el boton que he pulsado.

Lo que he pensado hacer primero es un action listener por cada posicion del vector de jbuttons para que me resuelva la accion del boton cuando lo pulso, pero tengo un problema, necesito la posicion (es decir, el indice) del boton en el vector, porque sino nose cual de ellos tengo que cambiar. se me entiende? lo que he hecho ha sido inicialmente hacer como un parche con otro jbutton, y cada vez que lo inicializava lo cambiaba es decir:


for (int pos = 0; pos < 100; pos++) {
vectorjButton[pos] = new JButton();
vectorjButton[pos].setSize(5, 5);
posicionactivadajButton=vectorjButton[pos];
posicionactivadajButton.addActionListener(this);
vectorjButton[pos]=posicionactivadajButton;
this.add(vectorjButton[pos]);

}


// posicionactivada es un boton que lo unico que hace es cojer el boton de la posicion que quieres modificar para atender la accion listener

y lueg dentro del action listener:


if(e.getSource()==posicioactivadajButton) {
posicioactivadajButton.setText("X");
}



//el layout si que lo hago, pero como me sale ya por pantalla no lo pongo aqui, en resumen, me sale el vector por pantalla pero cuando apreto un boton no me pone la X. Gracias
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:46.