eu estou usando um panel como container e usando o revalidate e ainda assim não está aparecendo.
ButtonGroup grupo = new ButtonGroup();
for (String caption : listaDeItens) {
JRadioButton button = new JRadioButton(caption);
grupo.add(button);
jPanel1.add(buttonn);
}
jPane1.revalidate();
Use o método doLayout do container para forçar a execução do algoritmo do gerenciador de layout e o método repaint para forçar a repintura do container.
Exemplo:
Acabei de consultar a documentação. Lá é dito para não usar o método doLayout, mas sim o validate (java.awt.Component) ou o revalidate (java.swing.JComponent) da forma que você está usando. Sendo assim, o que falta no seu código é o repaint.