editables editable edicion deshabilitar celdas java jtable

java - editable - cómo forzar el editor de celda en jtable para aceptar ediciones



deshabilitar edicion jtable java (3)

cuando tienes un jtable con múltiples celdas editables

cuando alguien presiona el botón "guardar" en el menú, no guarda el último valor, luego agregue la siguiente paz de código

El primero es hacer que la tabla deje de editar automáticamente y guarde los datos. Esto se puede hacer estableciendo una propiedad en la tabla:

JTable table = new JTable(...); table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);

Se asegurará de que cuando alguien presione el botón any en el menú, también guarde el último valor editado.

tengo un jtable con múltiples celdas editables

cuando alguien presiona el "botón Guardar" en el menú, no guarda el último valor que todavía se está editando. (a menos que salgan de la celda primero)

Puedo verificar que esté siendo editado llamando a .isEditing () que devuelve verdadero.

Lo que preferiría hacer es activar que la edición de la celda esté completa, y pueda mostrar cualquier error de validación, y si no hay ninguno, entonces guárdelo. (sin que el usuario tenga que tab out primero)

Puede alguien indicarme el camino correcto

Gracias


Puedes llamar manualmente:

JTable table; table.getCellEditor().stopCellEditing();

Esto debería provocar que la tabla deje de editarse en esa celda. Al anular el método stopCellEditing() de su TableCellEditor y devolver false en determinadas circunstancias, puede indicar que el valor de la celda no es válido actualmente y, por lo tanto, la edición no se puede detener en ese momento.


Si mal no recuerdo, el valor editado / agregado está presente en el componente editor de la celda, de manera predeterminada es EditBox, PERO no está presente en el modelo de tabla. Si es posible, intente verificar el componente del editor de la celda, ya que debería ayudarlo.