我是Java新手。我正在applet中创建一个厚实的环。我在for循环中使用drawOval
方法。这会创建多个环但不会居中。请检查图像并尽快帮助我!
答案 0 :(得分:1)
您可以使用fillOval()
以避免绘制许多不同的椭圆,这样您只需绘制2,其中一个具有边缘颜色,另一个具有背景颜色。要使椭圆居中,请尝试fillOval(origX + changeInThickness / 2, origY + changeInThickness / 2, origWidth - changeInThickness, origHeight - changeInThickness)
答案 1 :(得分:0)
此处您绘制的每个戒指都居中,但由于连续绘制的戒指似乎不是。因此,您可以使用鼠标按下事件在每次单击时绘制或填充椭圆。
onMousePressed(Event e)
{
Graphics g= getGraphics();
g.fillOval(e.getX(),e.getY(),size,size);
}
只是观察并尝试......你自己的逻辑。
答案 2 :(得分:0)
如您所知,绘制的椭圆位于边界矩形内,您可以使用类似的东西。这是7个同心圆。您可以通过更改 for loop 条件来自定义距离,确定它们是增长同心圆还是缩小同心圆,圈数。
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);
}
}