update() JComponent "does not clear the background", so you may need to do this explicitly. Typical JTabbedPane examples JTabbedPane usually not necessary to use update() . Maybe sscce showing that your use may help.
Addendum 1: It is not clear why you are calling update() . Below is a simple animation that does not detect anomalies.
Addendum 2: See Painting in AWT and Swing: paint () vs. update () . Instead, you can use repaint() in actionPerformed() .

import java.awt.*; import java.awt.event.*; import java.util.Random; import javax.swing.*; public class JTabbedTest { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() {
source share