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

El foco y los valores de una celda

Estas en el tema de El foco y los valores de una celda en el foro de Java en Foros del Web. Saludos comunidad. El problema es el siguiente. Quiero sacar los valores de un jtable, para ello no se me ocurre otra cosa que hacer algo ...
  #1 (permalink)  
Antiguo 30/07/2013, 03:46
 
Fecha de Ingreso: julio-2013
Ubicación: Almeria
Mensajes: 8
Antigüedad: 11 años, 4 meses
Puntos: 0
El foco y los valores de una celda

Saludos comunidad.

El problema es el siguiente. Quiero sacar los valores de un jtable, para ello no se me ocurre otra cosa que hacer algo asi, que creo que no es una burrada:

Código:
    Jtable.getModel().getValueAt(n, m)
Hasta ahi nada raro, pero no soy capaz de obtener el valor de la ultima celda que edité.

Muchas gracias por la ayuda.
  #2 (permalink)  
Antiguo 30/07/2013, 10:29
Avatar de drakk92  
Fecha de Ingreso: julio-2013
Ubicación: cali
Mensajes: 25
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: El foco y los valores de una celda

Mira la mejor forma es recorrer el JTable con un for, de la siguiente forma:

Código:
for (int i = 0; i < tabla().getRowCount(); i++) {
}
En donde tabla = es el Jtable, si tu tabla se llama "datos" por ejemplo, entonces en vez de "tabla" pones "datos".

Te paso un ejemplo, en este recorro una tabla y cada valor de cada columna se asigna a una variable.

Código:
for (int i = 0; i < tabla().getRowCount(); i++) {
            String codigo = "", cedula = "", descripcion = "", tipo = "", fecha="";

            codigo = (String) t_datos.getValueAt(t_datos.getSelectedRow(), 0);
            cedula = (String) t_datos.getValueAt(t_datos.getSelectedRow(), 1);
            fecha = (String) t_datos.getValueAt(t_datos.getSelectedRow(), 2);
            tipo = (String) t_datos.getValueAt(t_datos.getSelectedRow(), 3);
            descripcion = (String) t_datos.getValueAt(t_datos.getSelectedRow(), 4);

}
OJO -> aqui estoy asignando las variables "solo y solo si selecciono una fila", a parte los String son los valores que tengo en mis columnas que son : codigo, cedula, descipcion, tipo, fecha. si tu tienes una tabla con 8 columnas entonces son 8 string y asi sucesivamente.

como no especificaste que haces despues de tener todos los datos del JTable no te sabria dar informacion mas precisa.
  #3 (permalink)  
Antiguo 06/08/2013, 03:52
 
Fecha de Ingreso: julio-2013
Ubicación: Almeria
Mensajes: 8
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: El foco y los valores de una celda

Gracias drakk92, pero el problema no es al recorrer la JTable, si no que al recorrerla si hay un celda que acabo de editar y aun tiene el foco es como si no la hubiese editado, mantiene el valor antiguo cuando la vuelvo a recorrer.

Aun tengo el problema, a ver si a alguien se le ocurre algo.
  #4 (permalink)  
Antiguo 04/11/2014, 23:48
 
Fecha de Ingreso: octubre-2008
Mensajes: 4
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: El foco y los valores de una celda

Tal ves sea por que la celda esta editándose cuando se intenta de extraer los datos, por lo general se utiliza este código para evitar la edición, el codigo se puede relacionar a oprimir un boton

JButton okButton = new JButton("OK");
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {

if(tableAltas.isEditing()){//si se esta edtando la tabla
tableAltas.getCellEditor().stopCellEditing();//detenga la edicion
}


});
okButton.setActionCommand("OK");
buttonPane.add(okButton);
getRootPane().setDefaultButton(okButton);

Etiquetas: celda, foco, jtable
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 09:05.