dreadnightmare dreadnightmare - 1 year ago 81
Java Question

Radio buttons don't show

I am trying to make survey in java. I have 20 questions and 5 possible choices. I was thinking of making 20 labels and 100 radio buttons grouped by 5.

I managed to manually add labels using the Net beans GUI, but I wanted to generate buttons, but they don't show. Here is my code:

public class Prikaz extends javax.swing.JFrame {

/**
* Creates new form Prikaz
*/
public Prikaz() {
initComponents();
javax.swing.JRadioButton [][] buttons = new javax.swing.JRadioButton [20][5];
ButtonGroup [] bg = new ButtonGroup[20];


for (int i = 0; i < 20; ++i) {
bg[i]= new ButtonGroup();
for (int j = 0; j < 5; ++j) {
buttons[i][j] = new javax.swing.JRadioButton();
if(j==0)buttons[i][j].setSelected(true);
buttons[i][j].setLocation(1014+(j*24) , 44+(i*31));
buttons[i][j].setToolTipText(((Integer)(j+1)).toString());
buttons[i][j].setVisible(true);
buttons[i][j].setEnabled(true);
bg[i].add(buttons[i][j]);
}
}

}

// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel16;
private javax.swing.JLabel jLabel17;
private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel21;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
// End of variables declaration
}

Answer Source

You need to add the buttons to the parent component in addition to the ButtonGroup.

For example, to add the button to jlabel1, add this after creating the button:

jlabel1.add(buttons[i][j]);