![]() |
Limpiar antes de editar celda en Jtable
Hola amigos del club delphi, mi pregunta es algo rara de expresar asi que coemnzare con lo que quiero hacer.
En excel cuando comienzas a editar una celda a travez del teclado el valor que esta almacendo en ella se borra y da paso al nuevo valor, haciendo doble click el valor anterior no se modifica. En ambos casos el valor anterior regresa persionando la tecla escape. En un JTable, en ambos casos el valor antiguo continua estando en la celda al momento de editarla. Lo que quiero hacer es que al modificar la celda utilizando el teclado el valor que esta contenga se borre, pero en caso de que sea doble click lo mantenga. He probado con el metodo isCellEditable() para que antes de retornar true en caso de que se pueda editar la celda, modificando el valor de la celda, pero este metodo es llamando cuando se selecciona la celda no cuando es editada. Ademas probe con addPropertyChangeListener sbreescribiendo el metodo PropertyChange. Código:
public static final String CELL_EDITOR_PROPERTY = "tableCellEditor"; alguna sugerencia? muchas gracias. |
Hola!
Bueno, despues de mucho buscar, lo he solucionado no es exactamente lo que queria, pero funciona mas o menos parecido ^.^, dejo mi solucion en caso de que a alguien le sirva.
1) Sobre-escribi el metodo getCellEditor de mi JTable. Código:
public TableCellEditor getCellEditor(int row, int col) { Esto no solucionaba mi problema debido a que cuando comenzaba la edicion desde el teclado y no con doble click (o un solo click) el texto se adjuntaba al existente, asi que para solucionar esto agregue un listener a la JTable que escuchara el evento KeyRelased y solicitara el foco cuando se presionara una tecla, asi se simulaba el doble click del mosue. Código:
tabla.addKeyListener(new java.awt.event.KeyAdapter() { Un saludo. |
Ayuda
Hola,
Me gustaría q me ayudes a usar tu código del TableCellEditor please!!! Soy nueva en esto por favor ayudame! |
Bienvenida a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración :)
|
Ayuda
Oye y como sobreescribiste el metodo getCellEditor?
en que clase lo sobreescribiste?? o donde lo estas utilizando? ya que al hacer el keyevent no miro que hagas referencia del getCellEditor? :confused::confused: y si tu dices que lo agregaste a la tabla.... tu creaste la tabla desde 0 por eso le agregaste ese elemento? o tu jalaste una tabla del swing y le agregaste esa programacion del getCellEditor? y si lo hiciste asi como se lo agregaste? |
Hola AlexSC.
La última vez que Negriz anduvo por estos foros fué allá, por el 2010... Te aconsejo formular tu problema en una nueva consulta. Saludos :) |
La franja horaria es GMT +2. Ahora son las 17:25:53. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi