04/12/2012, 20:48
|
| | Fecha de Ingreso: diciembre-2012
Mensajes: 2
Antigüedad: 12 años Puntos: 0 | |
Desde fila de JTable a JTextField Buenas noches
Tengo un JTable con varios datos que me jalo de una base de datos en SQL Server y necesito que al hacer click en una fila del JTable, los datos de esta fila se me pasen a los JTextField, he trato ya con varias cosas y aun no he podido hacer que funcione ni he podido entender bien la funcionalidad del JTable y los modelos de tablas.
Me podrian aventar una mano?
Mi código es el siguiente:
Código:
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.table.*;
public class Cliente extends JFrame implements ActionListener
{
String dsn = "dsnParqueadero"; //Define el string de Conexión
JPanel jpFormulario = new JPanel();
JTable tblC = new JTable();
JLabel lbldocumento = new JLabel("Documento:");
JLabel lblNombres = new JLabel("Nombres:");
JLabel lblApellidos = new JLabel("Apellidos:");
JLabel lblTelefono = new JLabel("Teléfono:");
JTextField txtDocumento = new JTextField(15);
JTextField txtNombres = new JTextField(15);
JTextField txtApellidos = new JTextField(15);
JTextField txtTelefono = new JTextField(10);
JButton btnGuardar = new JButton("Guardar");
JButton btnLimpiar = new JButton("Limpiar");
JButton btnBuscar = new JButton("Buscar");
public static void main(String[] args)
{
new Cliente();
}
public Cliente()
{
//Instancia la ventana
super("Cliente");
this.setSize(400,300);
this.setResizable(false);
//Contenedor de los elementos de la ventana
jpFormulario.setLayout(null);
//Define el string de conexión
BaseDatos.strDSNUsuarioConexion(dsn);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
});
/*formulario*/
//Agregar los elementos de la ventana
lbldocumento.setBounds(10,10,150,20);
jpFormulario.add(lbldocumento);
txtDocumento.setBounds(90,10,190,20);
jpFormulario.add(txtDocumento);
btnBuscar.setBounds(290,10,90,20);
btnBuscar.setToolTipText("Buscar con el dato digitado.");
jpFormulario.add(btnBuscar);
lblNombres.setBounds(10,40,150,20);
jpFormulario.add(lblNombres);
txtNombres.setBounds(90,40,190,20);
jpFormulario.add(txtNombres);
lblApellidos.setBounds(10,70,150,20);
jpFormulario.add(lblApellidos);
txtApellidos.setBounds(90,70,190,20);
jpFormulario.add(txtApellidos);
lblTelefono.setBounds(10,100,150,20);
jpFormulario.add(lblTelefono);
txtTelefono.setBounds(90,100,190,20);
jpFormulario.add(txtTelefono);
btnLimpiar.setBounds(100,130,90,20);
btnLimpiar.setToolTipText("Limpiar los campos.");
jpFormulario.add(btnLimpiar);
btnGuardar.setBounds(200,130,90,20);
btnGuardar.setToolTipText("Guardar los datos digitados.");
jpFormulario.add(btnGuardar);
LlenarGrid();
tblC.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
int row = tblC.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. */
txtDocumento.setText(tblC.getValueAt(row, 0).toString());
txtNombres.setText(tblC.getValueAt(row, 0).toString());
txtApellidos.setText(tblC.getValueAt(row, 0).toString());
txtTelefono.setText(tblC.getValueAt(row, 0).toString());
}
});
getContentPane().add(jpFormulario);
//Agregar los elementos de la ventana
btnGuardar.setActionCommand("Guardar"); //Define el comando para la acción
btnGuardar.addActionListener(this); //Agrega al escuchador de eventos
btnLimpiar.setActionCommand("Limpiar"); //Define el comando para la acción
btnLimpiar.addActionListener(this); //Agrega al escuchador de eventos
btnBuscar.setActionCommand("Buscar"); //Define el comando para la acción
btnBuscar.addActionListener(this); //Agrega al escuchador de eventos
this.show();
}
public void actionPerformed(ActionEvent e)
{
String opcion = e.getActionCommand(); //Evento activado
if (opcion.equals("Limpiar")) Limpiar();
else if (opcion.equals("Guardar"))
{
Guardar();
LlenarGrid();
Limpiar();
}
else if (opcion.equals("Buscar")) Buscar();
}
public void Limpiar()
{
}
public void Guardar()
{
}
public void Buscar()
{
}
public void LlenarGrid()
{
clsCliente objCliente = new clsCliente();
VectorId idC = new VectorId();
objCliente.CambiarGridCliente(tblC);
if (objCliente.LlenarGrid(idC)==false)
{
BaseDatos.mensaje("Llenando datos",objCliente.ObtenerError());
}
else
{
JScrollPane sp = new JScrollPane(objCliente.ObtenerGridCliente());
sp.setBounds(15,160,365,100);
jpFormulario.add(sp);
objCliente = null;
}
}
}
Muchas gracias |