// Change the frame for the busyPainter // and mark BusyPainterUI as dirty public void actionPerformed(ActionEvent e) { frameNumber = (frameNumber + 1) % 8; busyPainter.setFrame(frameNumber); // this will repaint the layer setDirty(true); }