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;