Mes questions portent sur les tableaux JTables modifiables (avec TableCellEditor).
Certains outils (comme SQLDeveloper) permettent à l'utilisateur de modifier plusieurs enregistrements, d'en créer de nouveaux ou de supprimer des enregistrements existants. La table montre les enregistrements modifiés, mais les modifications ne sont que locales, jusqu'à ce que l'utilisateur clique sur le bouton "save" (ou "commit" dans le cas de SQLDeveloper). L'utilisateur peut également revenir en arrière sur tous ses changements.
Quelle est la meilleure façon de mettre en œuvre ce comportement dans une application Swing avec une JTable ?
Je ne pense pas, qu'un outil comme SQLDeveloper crée une copie des enregistrements listés dans la table. Ma première idée était de créer un TableModel qui enveloppe un autre TableModel (ce qui me permet d'utiliser une implémentation arbitraire de TableModel) et de stocker uniquement les valeurs des cellules modifiées. Cela fonctionne bien, lorsque le nombre de lignes ne change pas. Mais comment gérer l'insertion ou la suppression de lignes ?
Merci d'avance pour tout conseil.
Markus