Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何更改JRadioButton selectionBall';什么颜色?_Java_Swing_Jradiobutton - Fatal编程技术网

Java 如何更改JRadioButton selectionBall';什么颜色?

Java 如何更改JRadioButton selectionBall';什么颜色?,java,swing,jradiobutton,Java,Swing,Jradiobutton,如何更改JRadioButton selectionBall的颜色?我们应该用basicradionui?我们应该怎么做?或者我们应该改变单选按钮的选择 或者我们应该改变单选按钮的选择 没有单选按钮的selectedIcon,一切都在画图图标中完成(有两种状态) 您可以在BasicRadioButtonUI 编辑 有两种方式, 取决于Java版本和使用的L&F,必须进行测试 @Override public void paintIcon(Component c, Graphics g, in

如何更改JRadioButton selectionBall的颜色?我们应该用basicradionui?我们应该怎么做?或者我们应该改变单选按钮的选择

或者我们应该改变单选按钮的选择

  • 没有
    单选按钮的selectedIcon
    ,一切都在
    画图图标中完成(有两种状态)

  • 您可以在
    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);
}
或(脏方式)到
UIManager
中的
setIcon
(准备),需要为所有鼠标或按键事件设置
revalidate()
repaint()

或者我们应该改变单选按钮的选择

  • 没有
    单选按钮的selectedIcon
    ,一切都在
    画图图标中完成(有两种状态)

  • 您可以在
    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);
}
或(脏方式)到
UIManager
中的
setIcon
(准备),需要为所有鼠标或按键事件设置
revalidate()
repaint()