MiguelMunoz
MiguelMunoz

Reputation: 4914

How do I set the color of the radio button's control?

How do I set the color of the radio button's control? No matter what color I specify in the style, it draws the outer circle and inner bullet in black. I want it to draw in in white on a black background to match my theme, but it always draws in black. (I'm actually doing this in a Multi-Button, setting the color of the Emblem UIID.)


I tried the first suggestion, to define the constants. That didn't work. Here's what happened.

I tried it two ways. First I defined just the radioSelectedImage and radioUnselectedImage. When that didn't work, I added both the radio*DisImage values, but it did the same thing. The selected and unselected images worked fine, but as soon as I touched a radio button, it got the focus, and the button was drawn in black, which made it invisible against my black background.

I did find an approach that worked, but it required the use of two deprecated classes. Here's what I added to the init() method of my main class:

    LookAndFeel lookAndFeel = UIManager.getInstance().getLookAndFeel();
    if (lookAndFeel instanceof DefaultLookAndFeel) {
        DefaultLookAndFeel defaultLookAndFeel = (DefaultLookAndFeel) lookAndFeel;
        Image sel = theme.getImage("RadioButtonSelected.png");
        Image unSel = theme.getImage("RadioButtonUnselected.png");
        defaultLookAndFeel.setRadioButtonImages(sel, unSel, sel, unSel);
        defaultLookAndFeel.setRadioButtonFocusImages(sel, unSel, sel, unSel);
    }

The difference here is that I have a way to set the focus images. I can't do that using the constants, which is probably why it doesn't work. I'd really rather not use deprecated classes.

Upvotes: 1

Views: 149

Answers (1)

James H
James H

Reputation: 1116

There are theme constants to allow you to add images to the radio button for unselected, selected, etc. Look here...

https://www.codenameone.com/manual/advanced-theming.html

Upvotes: 1

Related Questions