Timer для ActionListener - Java

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

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

Подскажите как заставить работать таймер ( я только начал учить джава
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.util.Timer;
import java.util.TimerTask;

public class Test extends JFrame
{
 
   public int z = 270;
   public int h = 150;
   public Container colorFon;
    
   public void paint(Graphics g)
   {
      Image img = createImageWithText();//выводим элемент из буфера
      super.paint(g);
      g.drawImage(img, z, h, this);
   }
 
   private Image createImageWithText()
   {
      //BufferedImage bufferedImage = new BufferedImage(60,60,BufferedImage.TYPE_INT_RGB);//без альфа канала
      BufferedImage bufferedImage = new BufferedImage(60,60,BufferedImage.TYPE_INT_ARGB);//альфа канал для буфера
      Graphics g = bufferedImage.getGraphics();//рисуем в буфер
      g.setColor(Color.RED);
      g.drawOval(0, 0, 60, 60);//рисует круг
      return bufferedImage;
   }
   
   public void DrawRect()
   {
       repaint();//перерисовка при изменении координат
       createImageWithText();
       System.out.println("You clicked a button!");//системное сообщение
   }
   
   public class MyActionListener implements ActionListener
   {
       public void actionPerformed(ActionEvent e)
       {
           z += 5;
           DrawRect();
           System.out.println("You run!");
       }
   }

    public Test()
    {
        super("Run");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(600, 400);//размер окна
        setLocation(300, 300);//позиция при активации окна
        setVisible(true);
        
        colorFon=getContentPane();//цвет фона а именно JFrame можно задать создав контейнер
        colorFon.setLayout(null);
        colorFon.setBackground(Color.BLACK);
        
        ActionListener actionListener = new MyActionListener();
        Timer timer = new Timer(500, actionListener);
        timer.start();
    }
    
    public static void main(String[] args)
    {      
        Test app = new Test();
    }
}

Решение задачи: «Timer для ActionListener»

textual
Листинг программы
import java.util.Timer;

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


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

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

6   голосов , оценка 4.167 из 5