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

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

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

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

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

textual
Листинг программы
  1. import javax.swing.*;
  2. import java.awt.*;
  3.  
  4. public class Move extends JPanel {
  5.     int x = 10;
  6.     int y = 10;
  7.  
  8.     public Move(){
  9.         setDoubleBuffered(true);
  10.     }
  11.  
  12.     public void moveAction() {
  13.         for (int i = 0; i < 300; i++) {
  14.             x++;
  15.             y++;
  16.             repaint(x, y, 40, 40);
  17.             try {
  18.                 Thread.sleep(100);
  19.             } catch (InterruptedException e1) {
  20.                 e1.printStackTrace();
  21.             }
  22.         }
  23.     }
  24.  
  25.     public void paintComponent(Graphics g) {
  26.         g.clearRect(0, 0, 200, 200);
  27.         g.setColor(Color.GREEN);
  28.         g.fillOval(x, y, 40, 40);
  29.         repaint();
  30.  
  31.     }
  32. }

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут