Java - Cancelar edición celdas JTable

 
Vista:

Cancelar edición celdas JTable

Publicado por Galilea (10 intervenciones) el 19/12/2003 18:53:15
Hola tengo una JTable y me gustaría saber como puedo evitar que las celdas se editen al hacer doble click sobre ellas.
Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder

RE:Cancelar edición celdas JTable

Publicado por Heihachi (31 intervenciones) el 19/12/2003 19:31:00
Puedes sobreescribir el método isCellEditable de DefaultTableModel:

1
2
3
4
DefaultTableModel modelo = new DefaultTableModel(){
    public boolean isCellEditable(int rowIndex,int columnIndex){return false;}
};
JTable tabla = new JTable (modelo);

O bien definir tu modelo implementando TableModel.
Hay un ejemplo de esto en www.geocities.com/chuidiang (me he adelantado!)

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar

RE:Cancelar edición celdas JTable

Publicado por Galilea (10 intervenciones) el 19/12/2003 19:57:51
Muchísimas gracias, ahora mismo lo pruebo.
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:Cancelar edición celdas JTable

Publicado por Galilea (10 intervenciones) el 19/12/2003 20:31:44
Mira que lo he probado, pero ni siquiera me deja insertar filas en la JTable. ¿Sabes a que es debido?
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:Cancelar edición celdas JTable

Publicado por Heihachi (31 intervenciones) el 19/12/2003 21:05:34
Mi ejemplo deja un poco que desear... la verdad...

Esto te crea la tabla con i filas i j columnas:

1
2
3
4
DefaultTableModel modelo = new DefaultTableModel(i,j){
        public boolean isCellEditable(int rowIndex,int columnIndex){return false;}
};
JTable tabla = new JTable (modelo);

Si necesitas crear la tabla ya con datos:
1
2
3
4
5
6
Object[][] data={{"a1","a2"},{"b1","b2"},{"c1","c2"}};
String [] columnas={"a","b"};
DefaultTableModel modelo = new DefaultTableModel(data,columnas){
    public boolean isCellEditable(int rowIndex,int columnIndex){return false;}
};
JTable tabla = new JTable (modelo);
Este ejemplo crea la tabla con columnas "a" y "b" y los valores de la tabla son:
a1 a2
b1 b2
c1 c2

Si quieres añadir una fila con la tabla anterior:
1
2
String[] s=new String[]{"d1","d2"};
modelo.addRow(s);

añadiría al ejemplo anterior una fila más

Puedes buscar en el api (http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/table/DefaultTableModel.html) la definición de DefaultTableModel para más información sobre sus métodos y constructores.

Saludos!
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:Cancelar edición celdas JTable

Publicado por Galilea (10 intervenciones) el 20/12/2003 18:18:56
Muchísimas gracias, me has sido de gran ayuda.
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:Cancelar edición celdas JTable

Publicado por Heihachi (31 intervenciones) el 19/12/2003 21:07:17
Ah! No he contestado a tu pregunta!

Supongo que se debe a que la tabla así como la habíamos creado tenía 0 columnas

Saludos!
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:Cancelar edición celdas JTable

Publicado por Marcos (13 intervenciones) el 17/01/2014 21:12:58
Hola heihachi! gracias por tu aporte. yo lo intentaba con el JTable1 (en t diseño) y no funcionaba. pero haciendolo asi como dices desde el model funcionó a la perfección. Grax.
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
Imágen de perfil de Jemel

RE:Cancelar edición celdas JTable

Publicado por Jemel (15 intervenciones) el 09/08/2016 04:48:44
Me fue de mucha ayuda tu intervención. Gracias
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
Imágen de perfil de Victor
Val: 20
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Cancelar edición celdas JTable

Publicado por Victor (6 intervenciones) el 01/05/2017 06:09:23
Muchas gracias, me ha sido de gran ayuda.
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