Java JTable - Rendre une seule colonne modifiable
Je me demandais comment faire une colonne d'une JTable modifiable, les autres colonnes doivent être non modifiable.
J'ai remplacé isCellEditable() mais cela change toutes les cellules non modifiable.
Thnx à l'avance.
source d'informationauteur user842479
Vous devez vous connecter pour publier un commentaire.
vous pouvez définir si est
isEditable
pourTableColumn
ouTableColumn and TableCell
tropRemplacer la modèle de table
isCellEditable(int rowIndex, int columnIndex)
prend deux arguments, il suffit de retourner true pour la colonne que vous voulez?ce serait modifiable vrai pour la colonne 3 et 8 et faux pour d'autres .
JXTable/TableColumnExt de la SwingX projet ont api pour configurer l'éditabilité par table et par colonne
Noter qu'il est uniquement possible de réduire la possibilité de modification par rapport à ce qui est retourné par le modèle.isCellEditable. C'est que vous pouvez faire une cellule modifiable en lecture seule, mais pas l'inverse
La lecture de la remarque de Kleopatra (son 2ème fois, il a suggéré de regarder javax.swing.JXTableet maintenant, je Suis désolé, je ne regarde pas la première fois 🙂 ) je vous suggère de suivre le lien
J'ai cherché une asnwer, et j'ai combiné plusieurs réponses à ma propre solution: (cependant, pas sûr pour toutes les solutions, mais compréhensible et rapide impelmented, bien que je recommende à consulter le lien ci-dessus)
Vous pouvez le garder plus souple à l'ensemble de la colonne qui est modifiable ou non plus tard, j'ai utilisé ce pour exemple:
Et j'ai utilisé cette fonction pour définir modifiable ou pas:
Remarque: bien sûr, vous devez définir columnsEditable et JTable tableau global de cette classe:
Note 2: par défaut, toutes les colonnes ne sont pas modifiables, mais c'est mon comportement désiré. Si vous souhaitez sinon c', soit ajouter toutes les colonnes de columnsEditable ou de modifier le comportement complètement (faire la liste de tableaux columnsNonEditable en place).
En ce qui concerne de Kleopatra remarque: de son mieux de ne pas utiliser cette dernière suggestion (mais ça dépend utilisé tablemodel et ce que vous faites dans le reste de votre programme).