i have a mainFrame that contains panel. i want in this panel a thread that changes label image as long as the application is running...
when i created the panel that implements runnable, and then created an instance of this panel in the mainframe the application goes into infinite loop... my code as follows:
public mainFrame() { BanerPanel baner = new BanerPanel(); baner.run(); } public class Banner_Panel extends JPanel implements Runnable { public Banner_Panel() { initComponents(); imgPath = 2; imgLbl = new JLabel(new ImageIcon(getClass().getResource("/Photos/banner_4-01.png"))); add(imgLbl); //run(); } @Override public void run() { while(true) { try { while (true) { Thread.sleep(3000); switch(imgPath) { case 1: imgLbl.setIcon(new ImageIcon(getClass().getResource("/Photos/banner_4-01.png"))); imgPath = 2; break; case 2: imgLbl.setIcon(new ImageIcon(getClass().getResource("/Photos/banner_1-01.png"))); imgPath = 3; break; case 3: imgLbl.setIcon(new ImageIcon(getClass().getResource("/Photos/banner_2-01.png"))); imgPath = 4; break; case 4: imgLbl.setIcon(new ImageIcon(getClass().getResource("/Photos/banner_3-01.png"))); imgPath = 1; break; } } } catch (InterruptedException iex) {} } }