Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/03/2011, 19:47
Avatar de leocente
leocente
 
Fecha de Ingreso: diciembre-2009
Mensajes: 62
Antigüedad: 14 años, 4 meses
Puntos: 4
¿Seleccionar filas en JTable?

Hola foro, quería preguntarles si me pueden ayudar con un problema que tengo que es el siguiente.

Tengo 2 JTextField, uno para nombre y el otro para el apellido y ademas tengo un JTable con 2 filas y 2 columnas.
Lo que yo quiero hacer y no me sale es que cuando haga clic sobre una fila (cuando se selecciona de celeste la fila) automaticamente se rellenen los JTextFields de arriba, y cuando clickee otra fila se actualizen los datos de los JTexFields y asi susecivamente.

Imagenes:

- Cuando inicio el programa los JTextFields estan vacios pero al clickear en la primer fila se rellenas automaticamente asi


http://k08.kn3.net/46F4FAEA0.jpg


- Y cuando pulse sobre la segunda fila se actualizen Los JTextfields de arriba, algo asi


http://k01.kn3.net/52D7FD983.jpg


- Este es mi codigo


Código:
import java.awt.*;
import java.awt.Font;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class Borrar{
	
	public static void main (String[]args){
		
		JFrame v=new JFrame("Ventana");
		v.setSize(500, 500);
		v.setLayout(null);
		
		String [] d={"Nombre","Apellido"};
		Object[][] info={{"Leo","Martinez"},{"Mauro","Lopez"}};
		
		MiModelo model=new MiModelo();
		model.setDataVector(info, d);
		
		JTable tabla=new JTable(model);
		tabla.setBounds(100, 100, 250, 300);
	        tabla.getTableHeader().setFont(new Font("arial",1,13));
	    
	        JScrollPane scroll=new JScrollPane(tabla);
	        scroll.setBounds(21, 100, 400, 300);
	        v.add(scroll);
	    
	        JPanel panel=new JPanel();
	        JTextField fieldNombre=new JTextField();
	        fieldNombre.setPreferredSize(new Dimension(150,20));
	   
	        JTextField fieldApellido=new JTextField();
	        fieldApellido.setPreferredSize(new Dimension(150,20));
		
		panel.add(fieldNombre);
		panel.add(fieldApellido);
		panel.setBounds(21, 50, 400, 100);
		v.add(panel);
	    
		v.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		v.setVisible(true);
	}
}
class MiModelo extends DefaultTableModel{
	
	public boolean isCellEditable (int filas,int Columnas){

			return false;	
	}
}

Lo que me falta es un método amigos, que me permita operar sobre las filas.
Si algo sirve...

tabla.getSelectedRow(); //Obtengo un nro entero el cual es el nro de fila seleccionada
tabla.setValueAt(Object o, int fila, int columna); //Modifica la celda en la posicion (fila,columna)
tabla.getValueAt(int fila, int columna); // Devuelve el contenido de la celda en la posicion (fila,columna)

Desde ya muchas gracias!