繁体   English   中英

如何使用drawOval()创建戒指?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM