Java - Cambio de celdas en JTable

 
Vista:

Cambio de celdas en JTable

Publicado por mon (20 intervenciones) el 23/02/2005 14:47:10
Hola!!
Mi problema es con el JTable.. y tengo dos preguntas:
1.-Cómo se puede identificar cuando cambio de celda.. es decir cuando dejo de editar alguna
2.-Cómo puedo hacerle para que las celdas funcionen como las celdas de excel (que al posicionarme en una celda, si empiezo a escribir se limpie el contenido.. a menos que entre a edición, como se hace en excel con doble click)
Gracias.. espero haberme dado a entender
Saludos!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cambio de celdas en JTable

Publicado por Wilfredo Vargas Almendras (314 intervenciones) el 23/02/2005 15:21:52
Hola para tu primer caso, puedes utilizar los siguientes metodos que te serviran verificando cada vez que se efectue un evento sobre la tabla y asi podras saber si se cambio de celda o no.
getEditingColumn()
getEditingRow()

En cuanto a eliminar todo el contenido de la celda al hacer doble click sobre ella, debes capturar el evento y enseguida hacer lo siguiente:
table.setValueAt("",fil,columna);

Espero te sea de ayuda....
SALUDOS Wilfredo Vargas Almendras
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cambio de celdas en JTable

Publicado por mon (20 intervenciones) el 23/02/2005 16:15:04
Pero cómo identifico el doble click del mouse??
Y además.. no se en qué evento de la tabla poner eso... porque ya se lo puse en el KeyTyped y en el KeyPressed y no me lo hace
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cambio de celdas en JTable

Publicado por Wilfredo Vargas Almendras (314 intervenciones) el 23/02/2005 16:27:13
JTable tabla = new JTable();
........
ListSelectionModel evento = tabla.getSelectionModel();
evento.addListSelectionListener(new Seleccion(evento));

public class Seleccion implements ListSelectionListener
{

ListSelectionModel modelo;

public Seleccion(ListSelectionModel lsm)
{
modelo = lsm;
}

public void valueChanged(ListSelectionEvent lse) {
// Aqui va lo que quieras hacer
}
}

SALUDOS Wilfredo Vargas Almendras
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Solución

Publicado por mon (20 intervenciones) el 23/02/2005 19:05:46
Gracias.. sí me sirvió tu función..
Pero además para identificar el doble click, utilicé un contador que fui sumando en el evento MouseClicked de la tabla para saber cuántos click se dieron sobre la celda. Y en el KeyPressed pregunto, si el click fue uno, entonces limpio la celda.
Y en la función que me mandó Wilfredo del listener, limpio la variable click
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar