Reputation: 2364
I have a JTable that stores the results of a database query, so far so good. What I want is for the last column in each table to have a clickible JButton that will open the edit screen for the object represented in that row, and that means the button will need to know the details of the first column in the table from its own row (the ID from the database).
Any advice? I already tried just adding JButtons but they turned into Text when I tried to run it.
Upvotes: 11
Views: 7997
Reputation: 627
Contrary to the tutorial above, there is a way to do this without a complicated positioning math, custom mouse listeners, and custom table models. Instead, it can be done with a single simple custom class following the pattern described here:
Upvotes: 5
Reputation: 18035
You may also find my tutorial on a similar subject (in this case, using a JPanel) helpful as well: Custom JPanel cell with JButtons in JTable
Upvotes: 3
Reputation: 23263
Take a look at Sun's introduction to the JTable
component, specifically, the section about Editors and Renderers. It discusses the use of alternative CellRenderers
, and CellEditors
. What you'd need to do is create (or borrow) a ButtonCellRenderer
and a ButtonCellEditor
and then apply them to the column in question in your JTable
. The examples found in the linked articles should give you all the information you need.
Upvotes: 1