Богатые качели - PullRequest
       15

Богатые качели

1 голос
/ 30 июня 2010

Разработка настольного приложения на основе Java + Swing Я столкнулся с проблемой создания переключателя, который вместо текста рядом с ним должен иметь и изображение, или, скажем, другой виджет, например, спиннер.

Нажатиена изображении или блесне следует выбрать также соответствующую кнопку радио.

Возможно ли это?если да, то как?

Ответы [ 2 ]

3 голосов
/ 02 июля 2010

Мне кажется, что 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 с пустой строкой, вероятно, должно работать в большинстве случаев.

2 голосов
/ 30 июня 2010

Ну, есть конструктор для JRadioButton, который принимает Icon.Вы можете использовать его, чтобы рядом с ним был значок.

JRadioButton(Icon icon)

- Создает изначально невыбранныйпереключатель с указанным изображением, но без текста.

В противном случае довольно просто сделать текст JRadioButton пустым и поместить рядом с ним другой компонент.Затем вам нужно будет добавить прослушиватель к этому компоненту, чтобы щелкнуть JRadioButton, если щелкнет другой компонент.

...