Анимация: нарисовать зеленый квадрат, который будет двигаться от края до края окна - Java

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

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

Здравствуйте. Нужно нарисовать зеленый квадрат, который будет двигаться от края до края окна и повторять свое движение. Заранее спасибо.

Решение задачи: «Анимация: нарисовать зеленый квадрат, который будет двигаться от края до края окна»

textual
Листинг программы
package rectanglemoving;
 
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
/**
 *
 * @author Nicholas White
 */
public class RectangleMoving extends JFrame {
 
    public RectangleMoving() {
       initUI();
    }
    
 
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new RectangleMoving().setVisible(true);
            }
        });
 
private void initUI() {
        setContentPane(new Board());
        setSize(400, 300);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
 
    }
 
 
package rectanglemoving;
 
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JPanel;
import javax.swing.Timer;
 
/**
 *
 * @author Nicholas White
 */
public class Board extends JPanel implements ActionListener {
    
    private int DELAY = 10;
    int rectX = 20;
    int rectY = 20;
    Timer timer;
 
    public Board() {
        timer = new Timer(DELAY, this);
        timer.start();
    }
    
 
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g); 
        g.setColor(java.awt.Color.GREEN);
        g.fillRect(rectX, rectY, 40, 40);
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
        moveRect();
        repaint();
    }
 
    private void moveRect() {
        rectX += 1;
        if(rectX >= getParent().getWidth()){
            rectX = 0;
        }
    }
    
}

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


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

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

11   голосов , оценка 3.727 из 5
Похожие ответы