如何在java中重新绘制特定区域(如圆形)?

如何在java中重新绘制特定区域(如圆形)?,java,repaint,Java,Repaint,我试着做一个简单的游戏,基本上你必须打圆圈才能得分。但是我遇到了一个我自己无法解决的小问题,所以我的问题是如何重新绘制一个圆形表面。我使用了重新绘制(矩形r)的方法,但没有解决 public void objectHit(MouseEvent e) { int distance = 0, deltaX = 0, deltaY = 0, RadiusSqaured = 0; for (int i = 0; i < obj.length; i++) {

我试着做一个简单的游戏,基本上你必须打圆圈才能得分。但是我遇到了一个我自己无法解决的小问题,所以我的问题是如何重新绘制一个圆形表面。我使用了重新绘制(矩形r)的方法,但没有解决

    public void objectHit(MouseEvent e) {
    int distance = 0, deltaX = 0, deltaY = 0, RadiusSqaured = 0;
    for (int i = 0; i < obj.length; i++) {
        deltaX = e.getX() - obj[i].getPoint().x;
        deltaY = e.getY() - obj[i].getPoint().y;
        distance = deltaX * deltaX + deltaY * deltaY;
        RadiusSqaured = obj[i].getRadius() * obj[i].getRadius();
        if (distance <= RadiusSqaured) {
            repaint(obj[i].repaintRect());
            x = ThreadLocalRandom.current().nextInt(50 + radius / 2, 850 - radius / 2);
            y = ThreadLocalRandom.current().nextInt(60 + radius / 2, 750 - radius / 2);
            repaint(obj[i].repaintRect());
           
        }
    }
}
public void objectHit(MouseEvent e){
int距离=0,deltaX=0,deltaY=0,radiusqaured=0;
for(int i=0;i如果JComponent中的(距离),则有一种基于方框区域重新绘制的方法。这是否满足您的要求