Движение компонента - Java

Узнай цену своей работы

Формулировка задачи:

Добрый день. Не могу допетрить почему не двигается круг. этот класс который добавлен на фрейм, сам круг отображается нормально, есть кнопка у которой слушатель вызывает метод goMove , в параметрах передавая величину на которую должен двинуться круг, но этого не происходит.
public class Move extends JPanel{
    int x = 100,y = 100;
    public void paintComponent(Graphics g){
        g.setColor(Color.GREEN);
        g.fillOval(this.x,this.y,40,40);
    }
    public void goMove(int x,int y){
        this.x += x;
        this.y += y;
        this.repaint();
    }
}

Решение задачи: «Движение компонента»

textual
Листинг программы
import javax.swing.*;
import java.awt.*;
 
public class Move extends JPanel {
    int x = 10;
    int y = 10;
 
    public Move(){
        setDoubleBuffered(true);
    }
 
    public void moveAction() {
        for (int i = 0; i < 300; i++) {
            x++;
            y++;
            repaint(x, y, 40, 40);
            try {
                Thread.sleep(100);
            } catch (InterruptedException e1) {
                e1.printStackTrace();
            }
        }
    }
 
    public void paintComponent(Graphics g) {
        g.clearRect(0, 0, 200, 200);
        g.setColor(Color.GREEN);
        g.fillOval(x, y, 40, 40);
        repaint();
 
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5