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