подскажите в чем проблема . пытаюсь воспроизвести анимацию покадрово спомошью java но первые 3 кадра ресуются и останавливаются хотя поток продолжает выполнятся . но если увеличить или переместить итд окно анимации то несколько кадров отресуется а потом снова как будто зависает. код : Код (Text): package main; import helperPack.Bootonlist; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JPanel; public class Updater extends JPanel implements Runnable,ActionListener { private Thread T = new Thread(this); static Bootonlist B = new Bootonlist(); static Window W = new Window(); @Override public void run() { while(true) { actionPerformed(null); try { T.sleep(16); } catch (InterruptedException e) { //TODO Auto-generated catch block e.printStackTrace(); } } } int p = 0; public void paint(Graphics g) { p++; Image img = new ImageIcon("F:/projectGame/projectGame/tower1/tower1_ "+p+".png").getImage(); g = (Graphics2D) g; g.drawImage(img,0,0,null); System.out.println(p); if(p == 60) p = 0; } @Override public void actionPerformed(ActionEvent e) { repaint(); } } p.s поток запускается в другом класе
Код не компилируется (не предоставлен класс helperPack.Bootonlist, неизвестный класс Window (java.awt.Window не имеет конструктора без аргументов)) , так что не протестировать. На всякий случай: поток запускаете методом .start() ?