1

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

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

是否可以?如果是这样,如何?

4

2 回答 2

3

对我来说,带有为构造函数提供的图标的 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 旁边使用空字符串的另一个组件在大多数情况下应该可以正常工作。

于 2010-07-02T08:00:22.997 回答
2

好吧,有一个构造函数JRadioButton需要一个Icon. 您可以使用它使其旁边有一个图标。

JRadioButton(Icon icon)

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

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

于 2010-06-30T13:36:38.690 回答