Pregunta

Aquí está la cosa: un JTable ordenable respaldado por JTableModel con una matriz de objetos que pueblan filas (un objeto = una fila). Necesito eliminar filas.

Sin ordenar, eliminar un objeto es simple: obtener el índice de fila seleccionado, eliminar el objeto de matriz bajo el mismo índice. Sin embargo, con la clasificación, los índices de fila se confunden en el sentido de que ya no coinciden con los índices de objetos de matriz de respaldo. ¿Cuál es la forma correcta de superar esto?

¿Fue útil?

Solución

Oscar tenía casi razón, así es como debe hacerse:

int selectedRow = table.getSelectedRow();
tableModel.removeRow(table.convertRowIndexToModel(selectedRow));

Otros consejos

Creo que (no estoy seguro) hay un método como " modelToView " que devuelve el índice real en el modelo que representa un índice de vista.

Entonces, por ejemplo, tienes A, B, C, D y luego ordenas desc. D, C, B, A este método devolvería 0 para ver el índice 3 (A)

Creo que esto fue en JXTable que admite la ordenación o en JTable en Java 6.

Si ha compilado esta clasificación usted mismo, considere agregar este método.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top