开发基于Java + Swing的桌面应用程序我面临的问题是创建一个单选按钮,而不是旁边的文本,应该有和图像,或者说像旋转器这样的另一个小部件。
单击图像或微调器也应选择相应的radioButton。
有可能吗?如果是这样,怎么样?
答案 0 :(得分:3)
对我来说,带有构造函数图标的JRadioButton似乎不起作用;它用给定的图标替换“原生单选按钮图标”。除了“单选按钮图标”之外,我认为原来要求带有图标的单选按钮。
对于使用Bug #4177248的Sun bug数据库的行为进行了一些争论,但没有进行任何更改。
相反,人们可以尝试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旁边的另一个组件应该在大多数情况下都能正常工作。
答案 1 :(得分:2)
嗯,JRadioButton
的构造函数需要Icon
。您可以使用它使其旁边有一个图标。
- 创建一个带有指定图像但没有文本的最初未选中的单选按钮。
否则,将JRadioButton
文本设为空是相当容易的,并在其旁边放置另一个组件。然后,您需要向该组件添加一个监听器,以便在单击其他组件时单击JRadioButton
。