Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/03/2011, 17:11
javiDP
 
Fecha de Ingreso: febrero-2008
Ubicación: Sevilla
Mensajes: 91
Antigüedad: 16 años, 11 meses
Puntos: 15
Respuesta: ¿Seleccionar filas en JTable?

No debes hacer bucles infinitos a posta y menos sin tener varios threads en la aplicacion, eso es una chapuza. En todo caso puedes tener un timer que cada x milisegundos compruebe la fila seleccionada y cambie el valor de los campos de texto de la forma que te ha dicho siva...pero sigue siendo un poco chapuza.

La forma mas eficiente es añadir un MouseListener a la tabla, de forma que cada vez que se haga clic dentro de ella, obtengas con el metodo getPoint() del MouseEvent la posicion donde se ha realizado el clic, y luego comparando esa posicion con el metodo rowAtPoint() obtener la fila en la que se ha clicado.

En el constructor:
Código:
tabla.addMouseListener(new MouseAdapter());
Fuera del constructor:
Código:
public void MouseClicked(MouseEvent e){
   int row = tabla.rowAtPoint(e.getPoint());

   /* row devolvera -1 si se ha clicado fuera de la fila pero dentro de la tabla, si no devolvera el indice de la fila en la que se ha clicado. */

   fieldNombre.setText(tabla.getValueAt(row, 0));
   fieldApellido.setText(tabla.getValueAt(row, 1));
}
Ese codigo te ha de funcionar. Un saludo!