| |||
Editar celdas en JTable Hola.. Necesito modificar las celdas de un jtable. El JTable tiene 3 columnas (codigo, nombre, cantidad). Lo que estoy tratando de hacer es que al hacer click en un JButton se aumente cantidad + 1 (porejemplo, si tengo 24 que le sume 1 y pase a 25) de la fila seleccionada. Yo tengo entendido que se hace con setValueAt pero no entiendo muy bien cómo utilizarlo. Si alguien me puede dar una manito, desde ya muchas gracias :) |
| |||
Respuesta: Editar celdas en JTable jTable1.setValueAt(valor, FILA, COLUMNA); Te indica los siguientes campos: valor: puede ser definido como cualquier tipo de variable, ya que se ese campo es de tipo Object y el Objecto acepta cualquier tipo de variable. FILA: tiene que ser un int. Te indica el número de la fila, empezando desde cero. COLUMNA: otro int. Te indica el número de la columna, empezando desde cero. Por ejemplo, si utilizamos este código, algo sencillo pero sirve.
Código:
Clickeas el jButton1 y te aumenta el valor x 1.int Valor = 0; private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { Valor++; jTable1.setValueAt(Valor, 2, 0); } Es poco pero espero te ayude. ÉXITOS!!! Última edición por dacarot; 05/07/2009 a las 14:22 |
| |||
Respuesta: Editar celdas en JTable
Código:
No había entendido que era lo que necesitabas.String Valor = "DataChanged"; int Nvalor = 0; int estatico; private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { estatico = 1; Valor = String.valueOf(jTable1.getValueAt(1, 0)); Nvalor = Integer.parseInt(Valor) + estatico; jTable1.setValueAt(Nvalor, 1, 0); } Este código trabaja sobre la misma celda. Creo que así era lo necesitabas... Pero aqui está. Listo ÉXITOS!!! Última edición por dacarot; 06/07/2009 a las 10:17 |
| |||
Respuesta: Editar celdas en JTable Cita: mmm, eso no es lo que necesito, lo que me dijiste anteriormente estaba bastante bien nada mas que tiene un solo error, osea..
Iniciado por dacarot
Código:
No había entendido que era lo que necesitabas.String Valor = "DataChanged"; int Nvalor = 0; int estatico; private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { estatico = 1; Valor = String.valueOf(jTable1.getValueAt(1, 0)); Nvalor = Integer.parseInt(Valor) + estatico; jTable1.setValueAt(Nvalor, 1, 0); } Este código trabaja sobre la misma celda. Creo que así era lo necesitabas... Pero aqui está. Listo ÉXITOS!!! Yo tengo el jtable que tiene las 3 filas.. necesito que al hacer click en un jbutton.. la cantidad de la celda 2 de la fila seleccionada incremente a +1... osea.. suponete que la celda tiene el numero 4.. cunado aprete sobre el jbutton, este numero suba a 5.. y asi sucesivamente.. lo que me pasaste anteriormente..
Código:
esto, se acerca bastante a lo que necesito, el problema de este codigo es que lo que hace mal es, ponerle 0 al numero de la celda y le suma 1.. osea.. el numero al apretar el jbutton siempre sera 1. int Valor = 0; private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { Valor++; jTable1.setValueAt(Valor, 2, 0); } |
| |||
Respuesta: Editar celdas en JTable Lo que tienes es un problema de lógia... El primero que te pasé simplemente le suma uno las veces que clickeas el botón y lo imprime en una celda. El segundo agarra lo que hay en una celda y le va sumando uno las veces que clickeas el botón. Y parece que lo que ud quiere es seleccionar la celda aleatoreamente (dandole click por ejemplo) y luego le das click al botón y te incrementa el valor de esa celda. Si es esto, eso se maneja con eventos.... Y ahora te lo paso. Y si no es eso... vuelva a explicarme. Xq no le estoy captando la idea. Ando algo cerrado. Última edición por dacarot; 06/07/2009 a las 14:13 |
| |||
Respuesta: Editar celdas en JTable Cita: Si exacto, es eso lo que necesito.
Iniciado por dacarot Lo que tienes es un problema de lógia... El primero que te pasé simplemente le suma uno las veces que clickeas el botón y lo imprime en una celda. El segundo agarra lo que hay en una celda y le va sumando uno las veces que clickeas el botón. Y parece que lo que ud quiere es seleccionar la celda aleatoreamente (dandole click por ejemplo) y luego le das click al botón y te incrementa el valor de esa celda. Si es esto, eso se maneja con eventos.... Y ahora te lo paso. Y si no es eso... hagame un dibujo para ver si entiendo. Xq no le estoy captando la idea. Ando algo cerrado. |
| |||
Respuesta: Editar celdas en JTable Disculpa. Andaba haciendo unas cosas que me precisaban.
Código:
Si no hay ningún integer en la celda seleccionada, el sistema te tira una excepción.String Valor = ""; int Nvalor = 0; int estatico; private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { estatico = 1; //Se le asigna a Valor lo que hay en la celda seleccionada Valor = String.valueOf(jTable1.getValueAt(jTable1.getSelectedRow(), jTable1.getSelectedColumn())); //Se guarda en Nvalor el int que hay en Valor más 1 Nvalor = Integer.parseInt(Valor) + estatico; //Se imprime en en la celda seleccionada el int más 1, es decir el Nvalor jTable1.setValueAt(Nvalor, jTable1.getSelectedRow(), jTable1.getSelectedColumn()); } Fíjate bien en las propiedades que permite un JTable. En este caso se usa la propiedad de la fila y columna seleccionadas. Pero puede que necesites la fila y columna que se están editando, para hacer más complejo el programa que estés haciendo. Y asi siguen las propiedades xD... Espero que esto si sea. xD ÉXITOS!!! Última edición por dacarot; 06/07/2009 a las 15:18 |
| |||
Respuesta: Editar celdas en JTable Cita:
Iniciado por dacarot Disculpa. Andaba haciendo unas cosas que me precisaban.
Código:
Si no hay ningún integer en la celda seleccionada, el sistema te tira una excepción.String Valor = ""; int Nvalor = 0; int estatico; private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { estatico = 1; //Se le asigna a Valor lo que hay en la celda seleccionada Valor = String.valueOf(jTable1.getValueAt(jTable1.getSelectedRow(), jTable1.getSelectedColumn())); //Se guarda en Nvalor el int que hay en Valor más 1 Nvalor = Integer.parseInt(Valor) + estatico; //Se imprime en en la celda seleccionada el int más 1, es decir el Nvalor jTable1.setValueAt(Nvalor, jTable1.getSelectedRow(), jTable1.getSelectedColumn()); } Fíjate bien en las propiedades que permite un JTable. En este caso se usa la propiedad de la fila y columna seleccionadas. Pero puede que necesites la fila y columna que se están editando, para hacer más complejo el programa que estés haciendo. Y asi siguen las propiedades xD... Espero que esto si sea. xD ÉXITOS!!! Excelente, la verdad no se como agradecerte :) me sirvio muchisimo. |