Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/01/2015, 01:54
ivanalberquilla
 
Fecha de Ingreso: mayo-2013
Mensajes: 41
Antigüedad: 11 años
Puntos: 0
Fuente al editar celda Jtable

Hola,

Estoy haciendo un proyecto en swing y tengo un problema a la hora de editar las celdas. Cuando se está editando el contenido en una celda se cambia el tipo de fuente al de defecto y quiero dejarlo com el que tengo yo, para ello creo un CellEditor y se lo asigno a todas las columnas de la tabla, al crearla, pero al editarlas no mantiene este formato.

Tengo una clase para el CellEditor

Código:
public class MyTableCellEditor extends AbstractCellEditor implements TableCellEditor {
	JComponent component = new JTextField();
	public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int rowIndex, int vColIndex) {
	((JTextField)component).setText((String)value);
	((JTextField)component).setFont(new java.awt.Font("Arial Unicode MS", 0, 16));
	return component;
}

Al crear la tabla se lo asigno a todas las columnas

Código:
	private void crearEditor(){
		for (int i = 0; i < tabla.getColumnCount(); i ++) {
			TableColumn col = tabla.getColumnModel().getColumn(i);
			col.setCellEditor(new MyTableCellEditor());
			}
	}
Y para entrar a editar una celda lo hago con:

Código:
	    boolean success = tabla.editCellAt(fila, columma);
	    if (success) {
	      boolean toggle = false;
	      boolean extend = false;
	      tabla.changeSelection(fila, columma, toggle, extend);
	    }
¿Alguna solución?
Muchas gracias