Désactiver l'utilisateur de modifier dans JTable
Lorsqu'un composant JTable est créé, la cellule d'édition est activé par défaut. Comment puis-je empêcher l'utilisateur de modifier le contenu d'un JTable?
Vous devez vous connecter pour publier un commentaire.
Un JTable utilise un AbstractTableModel objet. C'est la chose que vous passer dans le constructeur de la JTable. Vous pouvez écrire votre propre AbstractTableModel comme suit
puis initialiser votre JTable comme
Vous pouvez créer un JTable à l'aide de code suivant:
Essentiellement ce que nous faisons ici, c'est primordial
isCellEditable
revenant toujours faux à partir d'elle. Cela fera un non editabe JTabel.TableModel
dans un autre endroit. Upvote!Avez-vous essayé simplement:
Sur JComponent.setEnabled(boolean) il sayes:
Quand il s'agit de JTable il n'a pas l'air de donner de la rétroaction visuelle à tous. Avec l'avantage de toujours être en mesure de cliquer sur les en-têtes de colonne. Et dans ma mise en œuvre de l'application peut modifier le contenu des cellules.
setDefaultEditor()
être mieux que ce qu'il fournit un retour visuel de l'utilisateur sélectionne une ligne ou une cellule.Salut, je travaille beaucoup sur java donc, je vais vous donner ma façon:
Il y a deux possibilités, la première sous netbeans. Allez personnaliser le code et de le faire comme ça:
Mon autre façon est de le faire est de créer une instance du modèle de table. C'est la deuxième manière:
Profiter de ce qui fonctionne bien pour moi. Tout ce que je veux faire est de vous aider à vous les gars parce que j'ai été aidé beaucoup plus tôt.
Bien sur netbeans, vous pouvez cliquer droit sur le tableau et cliquez sur table des matières, puis vous allez à la colonne de l'onglet et décochez la case "Modifiable" case à cocher. Salutations!!
Je sais je suis en retard mais j'espère que quelqu'un d'obtenir l'utilisation de ce. Vous pouvez simplement ajouter un écouteur de souris comme ceci:
ce code empêcher la modification des colonnes d'indices 1 et 2, vous pouvez supprimer la condition if pour faire ce travail pour toutes les colonnes.
Dans cette méthode "isCellEditable" on peut activer et désactiver l'utilisateur de modifier pour la colonne particulière. Dans ce cas, permettre à la colonne=11 et désactiver le reste de la colonne