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!