我正在尝试使用java绘制线和椭圆

我正在尝试使用java绘制线和椭圆,java,Java,我试图为游戏创建一个类似狙击手的形象,但它不允许我这样做。它是如何显示的: 即使我移动鼠标,我也希望它看起来像什么: 你要做的是告诉java椭圆或椭圆左上角的x和y位置,不管你怎么称呼它。 基本java没有中心平移功能,您需要自己计算椭圆的宽度/2和高度/2。替换 public class MousePointer extends GameFigure { public final int SIZE = 10; public MousePointer(int x, int

我试图为游戏创建一个类似狙击手的形象,但它不允许我这样做。它是如何显示的:

即使我移动鼠标,我也希望它看起来像什么:


你要做的是告诉java椭圆或椭圆左上角的x和y位置,不管你怎么称呼它。 基本java没有中心平移功能,您需要自己计算椭圆的宽度/2和高度/2。

替换

public class MousePointer extends GameFigure {

    public final int SIZE = 10;

    public MousePointer(int x, int y){
        super(x,y);
    }
    @Override
    public void render(Graphics2D g2) {
        g2.setColor(Color.CYAN);
        g2.drawLine((int)location.x - SIZE,(int) location.y,
                (int) location.x + SIZE, (int)location.y);
        g2.drawLine((int)location.x, (int)location.y - SIZE,
                (int)location.x,(int)location.y + SIZE);
        g2.drawOval((int)location.x - SIZE,(int)location.y - SIZE,(int)location.x-SIZE,(int)location.y - SIZE);
    }

    @Override
    public void update() {
        // NA/
    }

    @Override
    public int getCollisionRadius() {
        return 0;
    }
}

更新: 试着用

g2.drawOval((int)location.x - SIZE,(int)location.y - SIZE,SIZE,SIZE);\

@格伦马修-我希望这个解决方案对你有用。不要忘记接受答案,这样将来的访问者也可以自信地使用解决方案。检查以了解如何做。如有任何疑问/问题,请随时发表评论。
g2.drawOval((int)location.x - SIZE,(int)location.y - SIZE,SIZE,SIZE);\
g2.drawOval((int)location.x - SIZE,(int)location.y - SIZE,SIZE*2,SIZE*2);