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!