Quel est le bon événement pour des changements dans n'importe quelle cellule de la JTable?
J'ai un simple JTable, il y a deux colonnes, ce qui importe: la quantité et de la valeur (des Entiers). Chaque fois que l'utilisateur entre dans une nouvelle ligne ou des mises à jour, chaque lignes de valeur doit être multipliée par la quantité, les résultats sommée ensemble et le résultat de la somme affichée dans un JLabel à l'extérieur de la JTable. Semble assez simple. Sauf que j'ai aucune idée de ce cas dois-je regarder pour. Quelque chose comme "la valeur de la cellule changé"? Quand je clic droit sur la JTable dans NetBeans, je ne vois pas de tel événement ou de ne pas le reconnaître 😉 de toute façon, avant que j'arrive avec un peu bizarres noobish solution, j'ai pensé que je pourrais demander ici quelle est la bonne façon de le faire 🙂
Vous devez vous connecter pour publier un commentaire.
vous devez ajouter un TableModelListener comme décrit ici.
aussi, dans votre auditeur une fois que vous avez mis à jour la valeur de la cellule d'autres valeurs par programmation, vous devrez appeler
modèle.fireTableCellUpdated
laisser swing savoir sur les changementsgetModel()
être le dispositif et la méthode. En fait, de fromage code de démonstration de côté, il est beaucoup mieux de traiter avec le modèle, puis de construire une table avec elle, mais ne jamais appelergetModel()
.Enfin j'ai réussi à trouver comment le faire dans NetBeans avec tout le code de protection de l', et cetera. C'est clic droit sur JTable dans la Vue de Conception, les Propriétés, puis l'onglet Code, puis d'ajouter votre code de Pré-Ajout de la section de Code (code évalués avant le tableau est ajouté au conteneur ou quelque chose comme ça).
Le code exact qui fonctionne pour moi est: est-ce
Je suis conscient que Tom, ci-dessus, a proposé jamais appeler getModel() mais je suis trop nouveau pour Java de comprendre pourquoi (soin d'expliquer, s'il vous plaît..?) 🙂 et c'est juste un exemple de toute façon, je vais ajouter cette réponse juste pour montrer comment de le faire dans NetBeans (merci pstanton pour répondre à ce à faire). Parce que j'ai trouvé beaucoup de gens demander ce dans internet et pas de vraies réponses (en dehors de "copie de votre protégé du code à partir de NetBeans de l'aire protégée et de personnaliser votre table).