Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I add JRadioButton into JTable

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

like image 275
Soorya Thomas Avatar asked Jun 22 '12 10:06

Soorya Thomas


1 Answers

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.

like image 110
trashgod Avatar answered Sep 30 '22 03:09

trashgod