duda de obtener dato de un jtable

Iniciado por rey45, 17 Febrero 2016, 04:44 AM

0 Miembros y 1 Visitante están viendo este tema.

rey45

Que tal amigos, miren estuve averiguando en web y llegue a esta forma de extraer un dato de un jtable es muy sencilla a mi gusto nada del otro mundo, lo que hace es que si yo selecciono un casillero de la tabla con el mouse me arroja el dato contenido y el numero de la fila y la columna, pero yo lo que quiero es que si se puede modificar para que cuando yo seleccione una fila me arroje los tres  valores de esa fila independiente de cual columna haya seleccionado

|nombre | apellido | correo |
|---------|------ ---|--------|
|juan     |perez     | fg@df |


supongamos esa es mi tabla y yo selecciono la primera fila(aunque sea la única jaja) y me gustaría que arrojara el nombre apellido y el correo ya que este código solo me arrojaría un dato

este es el codigo que tengo:

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {                                     
        // TODO add your handling code here:
        int fila = this.jTable1.getSelectedRow();
        int columna = this.jTable1.getSelectedColumn();
        String dato = String.valueOf(this.jTable1.getValueAt(fila,columna));
        System.out.println("fila: "+fila+" columna: "+columna+" dato: "+dato);
    } 


espero puedan ayudarme a modificar este codigo si esque se puede, gracias
saludos!

0xFer

Pues sólo tienes que saber la fila y con eso exploras todas las columnas y con eso obtienes todos los valores de la fila que hayas seleccionado:

Código (java) [Seleccionar]
String.valueOf(this.jTable1.getValueAt(fila,0 /*primera columna*/));
String.valueOf(this.jTable1.getValueAt(fila,1/*segunda columna*/));
String.valueOf(this.jTable1.getValueAt(fila,2/*tercera columna*/));


claro, debes conocer cuántas columnas existen, luego usas el bucle for para ahorrarte tiempo, los datos los almacenas en un arreglo de cadenas para poder utilizarlos cuando quieras.
Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}