Est-il possible d'inclure JButton dans un JTable?
Question
J'ai un JTable qui stocke les résultats d'une requête de base de données, jusqu'ici ça va. Ce que je veux pour la dernière colonne de chaque table pour un JButton clickible qui ouvrira l'écran d'édition de l'objet représenté dans cette ligne, et cela signifie que le bouton besoin de connaître les détails de la première colonne dans la table de son propre ligne (l'ID de la base de données).
Un conseil? Je l'ai déjà essayé d'ajouter seulement JButton, mais ils se sont tournés en texte quand j'ai essayé de l'exécuter.
La solution
Contrairement à ce tutoriel ci-dessus, il y a une façon de le faire sans calcul de positionnement compliqué, les auditeurs de souris personnalisés, et des modèles de table personnalisés. Au lieu de cela, il peut être fait avec une seule classe simple personnalisé suivant le schéma décrit ici:
Autres conseils
Vous pouvez également trouver mon tutoriel sur un sujet similaire (dans ce cas, en utilisant un JPanel) utile ainsi: cellule personnalisée JPanel avec JButton dans JTable
Jetez un oeil à l'introduction de Sun à la composante JTable
, en particulier, la section sur noreferrer rédacteurs en chef et Renderers . Il traite de l'utilisation d'autres CellRenderers
, et CellEditors
. Ce que vous aurez besoin de faire est de créer (ou emprunter) un ButtonCellRenderer
et un ButtonCellEditor
puis les appliquer à la colonne en question dans votre JTable
. Les exemples trouvés dans les articles liés devraient vous donner toutes les informations dont vous avez besoin.