Анимация: нарисовать зеленый квадрат, который будет двигаться от края до края окна - 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; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д