Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package app13;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.JPanel;
- import javax.swing.Timer;
- public class DrawPanel extends JPanel implements ActionListener {
- // переменная типа таймер - для выполнения период-ких действий
- Timer drawTimer;
- int val;
- //
- public DrawPanel() {
- // создаем объект типа Timer
- drawTimer = new Timer(200, this);
- // запуск таймера - используем метод start
- drawTimer.start();
- }
- // данный метод будет вызваться периодически (через опред интерфал времени)
- @Override
- public void actionPerformed(ActionEvent e) {
- //System.out.println("actionPerformed!!!");
- // для перерисовки экрана вызываем repaint (приводит к вызову paintComponent)
- val++;
- if(val==256){
- val=0;
- }
- repaint();
- }
- // метод отвечает за отрисовку разл объектов
- public void paintComponent(Graphics g) {
- super.paintComponent(g);
- //g.setColor(Color.green);
- for (int i = 0; i <= 255; i++) {
- //System.out.println("i=" + i);
- g.setColor(new Color(0, 0, (i*val)%255));
- //g.setColor(new Color((i*val)%255, 0, 0));
- //fill rect
- //g.fillRect(10, 10, 200, 200);
- g.drawRect(250-i/2, 250 - i/2, i, i);
- }
- }
- // запуск таймера
- public void startAnimation(){
- if(!drawTimer.isRunning()){
- drawTimer.start();
- }else{
- System.out.println("Таймер уже запущен!");
- }
- }
- // остановка таймера
- public void stopAnimation(){
- drawTimer.stop();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement