丰富的摆动radiobutton

时间:2010-06-30 13:32:11

标签: java swing widget jradiobutton

开发基于Java + Swing的桌面应用程序我面临的问题是创建一个单选按钮,而不是旁边的文本,应该有和图像,或者说像旋转器这样的另一个小部件。

单击图像或微调器也应选择相应的radioButton。

有可能吗?如果是这样,怎么样?

2 个答案:

答案 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(Icon icon)

     

- 创建一个带有指定图像但没有文本的最初未选中的单选按钮。

否则,将JRadioButton文本设为空是相当容易的,并在其旁边放置另一个组件。然后,您需要向该组件添加一个监听器,以便在单击其他组件时单击JRadioButton