Мне кажется, что JRadioButton с иконкой для конструктора не работает; он заменяет «собственный значок радиокнопки» на данный значок. Я думаю, чтобы оригинал спросил, хотел радиокнопку с иконкой в дополнение к "иконке радиокнопки".
Были некоторые споры о поведении в базе данных ошибок Sun с Ошибка # 4177248 , но никаких изменений не было.
Вместо этого можно попробовать JRadioButtonMenuItem , даже если с этим, вероятно, возникнет нежелательное поведение?
Краткая оценка для JRadioButton и JRadioButtonMenuItem:
public class IconRadioButtonEval {
public static void main(String[] args) throws Exception {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
// Use some arbitrary working URL to an icon
URL url =
new URL(
"http://mikeo.co.uk/demo/sqlspatial/Images/RSS_Icon.png");
Icon icon = new ImageIcon(url);
JRadioButton button = new JRadioButton(icon);
panel.add(new JLabel("RadioButton with icon:"));
panel.add(button);
panel.add(new JLabel("RadioButtonMenuItem with icon:"));
panel.add(new JRadioButtonMenuItem(icon));
frame.getContentPane().add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
Предложение Джастина о другом компоненте рядом с JRadioButton с пустой строкой, вероятно, должно работать в большинстве случаев.