Can I add JRadioButton into JTable

java, jradiobutton, jtable, swing

Solution

It's not clear how you want to use `JRadioButton` in a `JTable`; consider these alternatives:

Use `SINGLE_SELECTION` mode to select individual rows.

table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

Use a column of type `Boolean.class`, which will be rendered using a `JCheckBox`. This example limits selections to a single row.

Use a `JComboBox` as an editor for mutually exclusive choices within a row.

Addendum: If `JRadioButton` is required, they can be added to a `JPanel`, as shown in this example due to @mKorbel.

Addendum: If each `JRadioButton` has its own column, you can't use a `ButtonGroup` because a single button is used for all cells having the same renderer. You can update other button(s) in the same row from your `TableModel`, which should override `setValueAt()` to enforce the single-selection rule that is usually managed by the `ButtonGroup`. There's an example here.

Addendum: This example due to @Guillaume Polet illustrates a way to manage one radio button per row.

Problem

I tried to add `JRadioButton` into `JTable` by using `CellEditor` and `CellRenderer`, but I can't add `JRadioButton` into `JTable`. I am using NetBeans and backend MySQL. Please help me. Edit: Thank you, but I have no idea about how to group `JRadioButton`. Can you help me? I have 4 columns .First column cell containing item name , second column cell containing quantity,3rd and 4th column cells contiaining JRadio Buttons.Then I want to grouping 3rd and 4th column cells containing JRadio Buttons in each row Edit:If I try to add radiobutton in the customize code of jTable by using this, `new JRadioButton("a")` , then it'l come as, `javax.swing.JRadioButton[,0,0,0x0,invalid,alignmentX=0.0,.....text=a],` in the column instead of button

Original source

Related problems