【发布时间】:2017-02-17 11:00:02
【问题描述】:
好的,我正在尝试创建一个带有不同颜色的同心圆的射箭风格目标,但问题是,如果我用特定颜色填充每个圆,我无法用不同颜色填充每个圆,然后继续接下来,即使是前一个圆圈也将其颜色更改为另一个圆圈的颜色。我如何用不同的颜色填充它们?这是我的代码
public void paint(Graphics g){
int fontSize = 20;
g.setFont(new Font("TimesRoman", Font.PLAIN, fontSize));
g.setColor(Color.yellow);
g.drawArc(250, 150, 50, 50, 0, 360);
g.fillArc(250, 150, 50, 50, 0, 360);
g.setColor(Color.red);
g.drawArc(230, 130, 90, 90, 0, 360);
g.setColor(Color.blue);
g.drawArc(210, 110, 130, 130, 0, 360);
g.fillArc(210, 110, 130, 130, 0, 360);
g.setColor(Color.black);
g.drawArc(190, 90, 170, 170, 0, 360);
g.fillArc(190, 90, 170, 170, 0, 360);
}
【问题讨论】:
-
颠倒绘制圆圈的顺序,您将在较小的圆圈上绘制一个较大的圆圈。并使用
fillOval轻松。 -
自定义绘画应该通过覆盖
paintComponent(...)而不是paint(...)来完成。