簡體   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