[英]How to create a ring using drawOval()?
我是Java新手。 我在小程序中创建了一个厚实的戒指。 我在for循环中使用drawOval
方法。 这将创建多个环,但它们不会居中。 请检查图片,并尽快帮助我!
您可能可以使用fillOval()
来避免绘制许多不同的椭圆,从而只需要绘制2,一个具有边缘颜色,另一个具有背景颜色。 要使椭圆居中,请尝试类似fillOval(origX + changeInThickness / 2, origY + changeInThickness / 2, origWidth - changeInThickness, origHeight - changeInThickness)
在这里,您绘制的每个圆环都居中,但是由于连续绘制的圆环似乎没有居中。 因此,您可以使用“鼠标按下事件”在每次单击时绘制或填充椭圆形。
onMousePressed(Event e)
{
Graphics g= getGraphics();
g.fillOval(e.getX(),e.getY(),size,size);
}
只是观察者,然后尝试....您自己的逻辑。
如您所知,绘制的椭圆在边界矩形内,您可以使用类似的东西。 这是用于7个同心圆。 您可以自定义距离,通过更改for循环条件来确定它们是同心圆还是收缩同心圆,以及圆数。
import java.awt.*;;
import java.applet.*;
/*
<applet code="Ellipses" width=400 height=400>
</applet>
*/
public class Ellipses extends Applet
{
public void paint(Graphics g)
{
int i,j,k,l;
for(i=170,j=170,k=50,l=50;i>=110;i-=10,j-=10,k+=20,l+=20)
g.drawOval(i,j,k,l);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.