Foros del Web » Programación para mayores de 30 ;) » Java »

Mostrar en un JTextfield campos de un JTable

Estas en el tema de Mostrar en un JTextfield campos de un JTable en el foro de Java en Foros del Web. Buenas, primero que nada gracias a todos los programadores de esta pagina pues me sacado algunas dudas de acá y me han ayudado mucho en ...
  #1 (permalink)  
Antiguo 27/07/2012, 15:57
Avatar de Arcanyel  
Fecha de Ingreso: julio-2012
Mensajes: 6
Antigüedad: 11 años, 9 meses
Puntos: 0
Mostrar en un JTextfield campos de un JTable

Buenas, primero que nada gracias a todos los programadores de esta pagina pues me sacado algunas dudas de acá y me han ayudado mucho en mi proyecto... sin muchos preámbulos iré al grano...

Necesito llevar el contenido de las filas de la tabla a un Jtextfield, eh leido mucho unos temas de aca pero no logro hacer que funcione en mi codigo... este toda la clase


Cita:
public class Cargos extends JInternalFrame {
private JPanel Cargo = new JPanel();
public JTextField txtcodigocargo= new JTextField(),txtcargo=new JTextField();
public DefaultTableModel dtmcargo= new DefaultTableModel(null,getColumnas());
public JScrollPane scpcargos= new JScrollPane();
public JTable tblcagos=new JTable(){
public boolean isCellEditable(int filas, int columnas) {
return false;}
};

............

public Cargos() {
initialize();
cargarDriver();
setFilas();
Cargo.setLayout(null);

......

tblcagos.setModel(dtmcargo);
Cargo.add(tblcagos);
scpcargos.setBounds(new Rectangle(205,30,220,120));
scpcargos.setViewportView(tblcagos);
Cargo.add(scpcargos);

txtcodigocargo.setHorizontalAlignment (JTextField.CENTER);
txtcodigocargo.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
((Component) arg0.getSource()).transferFocus();
}
});
txtcodigocargo.setToolTipText("Codigo del Departamento");
txtcodigocargo.setBounds(new Rectangle(5,54,190,30));
Cargo.add (txtcodigocargo);

.........

txtcargo.setHorizontalAlignment (JTextField.CENTER);
txtcargo.setToolTipText("Nobre del CargoCargo");
txtcargo.setBounds(new Rectangle(5,106,190,30));
Cargo.add (txtcargo);

............

}

private String[]getColumnas()
{
String columna[]=new String[]{"Codigo","Cargo"};
return columna;
}

private void setFilas(){
try{
Connection conexion = DriverManager.getConnection ("jdbc:mysql://localhost:3306","root","1");
conexion.setCatalog("registroinnova");
Statement stat = conexion.createStatement();
ResultSet resultado = stat.executeQuery ("SELECT idcargo,cargo FROM `cargos` ORDER BY `cargos` . `idcargo` ASC LIMIT 0, 30");
Object datos[]=new Object[2];//Numero de columnas que se ingresaron en columna son 2
try {
while (resultado.next()) {
for (int i = 0; i < 2; i++) {
datos[i] = resultado.getObject(i + 1);
}
dtmcargo.addRow(datos);
}
String id=tblcagos.getValueAt(tblcagos.getSelectedRow(), 0).toString();
String name=tblcagos.getValueAt(tblcagos.getSelectedRow() , 1).toString();
txtcodigocargo.setText(id);
txtcargo.setText(name);

resultado.close();
}catch (Exception e) {
}

}
catch(SQLException ex){
JOptionPane.showMessageDialog(null,ex.toString());
}
};
..........

private JPanel getJContentPane() {
if (Cargo == null) {
Cargo = new JPanel();
Cargo.setLayout(new BorderLayout());
}
return Cargo;
}
private void cargarDriver() {
try {
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception ex) {
setTitle(ex.toString());
}
}
}
Lo que esta en rojo es parte de un codigo que tome de un tema de aca, pero no se si va alli o donde iria, que estare haciendo mal, si pueden ayudarme se lo agradeceria, es URGENTE!!!!! les dejo mi correo por aquel que pueda ayudarme [email protected] Gracias...
  #2 (permalink)  
Antiguo 27/07/2012, 16:36
 
Fecha de Ingreso: junio-2012
Mensajes: 9
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: Mostrar en un JTextfield campos de un JTable

Hola Arcanyel, proba poniendo la siguiente linea justo antes de lo que esta en rojo:

dtmcargo.fireTableDataChanged();

Saludos
  #3 (permalink)  
Antiguo 28/07/2012, 14:32
Avatar de Arcanyel  
Fecha de Ingreso: julio-2012
Mensajes: 6
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Mostrar en un JTextfield campos de un JTable

Hola dezky gracias men, pero no me funciona la verdad no hace nada, no se si es por que el hecho de que estoy usando es un JInternalFrame... de verdad necesito ayuda... POR FAVOR ALGUIEN AYUDEME...
  #4 (permalink)  
Antiguo 28/07/2012, 21:09
 
Fecha de Ingreso: junio-2012
Mensajes: 9
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: Mostrar en un JTextfield campos de un JTable

Mmmm mirando un poco el codigo mas detenidamente, posiblemente te este tirando una Excepcion cuando haces "tblcagos.getSelectedRow()" ya que calculo que te debe devolver -1. Hace un e.printStackTrace() en :

txtcargo.setText(name);
resultado.close();
}catch (Exception e) {
//aca iria el e.printStackTrace()
}

Si es ese el error entonces deberias sacar lo que esta en rojo de ahi y hacer cuando creas la tabla lo siguiente:

tblcagos.getSelectionModel().addListSelectionListe ner(new ListSelectionListener() {

@Override
public void valueChanged(ListSelectionEvent e) {
if (!e.getValueIsAdjusting() && tblcagos.getSelectedRow() != -1){
String id=dtmcargo.getValueAt(tblcagos.getSelectedRow(), 0).toString();
String name=dtmcargo.getValueAt(tblcagos.getSelectedRow() , 1).toString();
txtcodigocargo.setText(id);
txtcargo.setText(name);
}
}
});

Si no viene por ese lado despues te armo un ejemplo de como manejo yo las tablas con su modelo y lo probas.

Saludos
  #5 (permalink)  
Antiguo 29/07/2012, 12:24
Avatar de Arcanyel  
Fecha de Ingreso: julio-2012
Mensajes: 6
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Mostrar en un JTextfield campos de un JTable

No me muestra nada, a simple vista pareciera que "Funcionara" Pero la verdad no hace nada con respecto a enviar los datos de los campos de la tabla a los Textfield... me pregunto si podriamos ponermos en contacto por correo, si puedes ayudarme un poco mas detallado con respecto a mi codigo... disculpa el trabajo y las molestias que te causo
  #6 (permalink)  
Antiguo 29/07/2012, 17:38
 
Fecha de Ingreso: abril-2012
Mensajes: 11
Antigüedad: 12 años
Puntos: 0
Respuesta: Mostrar en un JTextfield campos de un JTable

mira esto puede se de tu ayuda

Código:
 private void tablapendientes24MouseClicked(java.awt.event.MouseEvent evt) {                                               
        // TODO add your handling code here:
        
        
         fila = tablapendientes24.rowAtPoint(evt.getPoint());                 
         if (fila > -1){                          
             //txtCodDep.setText(String.valueOf(tabla.getValueAt(fila, 0)));
             txtsolicitud.setText(String.valueOf(tablapendientes24.getValueAt(fila, 0)));
             txtcliente.setText(String.valueOf(tablapendientes24.getValueAt(fila, 1)));
             txtcedula.setText(String.valueOf(tablapendientes24.getValueAt(fila, 2)));
             txtdireccion.setText(String.valueOf(tablapendientes24.getValueAt(fila, 3)));
             txtfono.setText(String.valueOf(tablapendientes24.getValueAt(fila, 4)));
             txtdestino.setText(String.valueOf(tablapendientes24.getValueAt(fila, 5)));
             txtguiae.setText(String.valueOf(tablapendientes24.getValueAt(fila, 8)));
             txtretorno.setText(String.valueOf(tablapendientes24.getValueAt(fila, 9)));
             txtproducto.setText(String.valueOf(tablapendientes24.getValueAt(fila, 10)));
             txtentregaen.setText(String.valueOf(tablapendientes24.getValueAt(fila, 11)));
             txtfechae.setText(String.valueOf(tablapendientes24.getValueAt(fila, 12)));
             tareao.setText(String.valueOf(tablapendientes24.getValueAt(fila, 13)));
             
         }        
    }
  #7 (permalink)  
Antiguo 29/07/2012, 20:25
 
Fecha de Ingreso: abril-2010
Mensajes: 38
Antigüedad: 14 años
Puntos: 1
De acuerdo Respuesta: Mostrar en un JTextfield campos de un JTable

Hola
Pues si lo que deseas es obtener el dato de cierta fila y columna de la tabla, el codigo es el siguiente:
int fila=jTable1.getSelectedRow();
int columna=jTable1.getSelectedColumn()
String dato=jTable1.getValueAt(fila,columna).toString();

siendo jTable1 tu tabla.
fila : tu celda que se encuentra en cierta fila seleccionada
columna : tu celda que se encuentra en cierta columna
aver si te sirve...Xd

Etiquetas: campos, clase, jtable, jtextfield, mysql, programa, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:11.