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