如何改变JRadioButton selectionBall的颜色?

时间:2013-12-03 10:53:35

标签: java swing jradiobutton

如何更改JRadioButton selectionBall的颜色?我们应该使用BasicRadioButtonUI?我们该怎么做?或者我们应该改变radioButton的selectedIcon?

1 个答案:

答案 0 :(得分:1)

  

或者我们应该更改radioButton的selectedIcon?

  • 没有radioButton's selectedIcon,一切都在paintIcon完成(有两种状态)

  • 您可以覆盖paintIcon

  • 中的BasicRadioButtonUI

修改

有两种方式,

取决于Java版本并使用L& F,必须测试

@Override
public void paintIcon(Component c, Graphics g, int x, int y) {
    int offset = (c.getHeight() - iconSide) / 2;
    g.setColor(Color.red);
    g.fillOval(x + offset, y + offset, dotDia, dotDia);                
}

// or

@Override
public void paintIcon(Component c, Graphics g, int x, int y) {
    int offset = (c.getHeight() - iconSide) / 2;
    g.setColor(Color.red);
    g.fillRoundRect(x + offset, y + offset, dotDia, dotDia, arc, arc);
}

或(脏路)setIcon(已准备好)UIManager,需要为所有鼠标或关键事件设置revalidate()repaint()