diff -BburN swing/src/main/java/common/javax/swing/plaf/basic/BasicTabbedPaneUI.java swing.new/src/main/java/common/javax/swing/plaf/basic/BasicTabbedPaneUI.java --- swing/src/main/java/common/javax/swing/plaf/basic/BasicTabbedPaneUI.java 2007-10-23 15:42:58.012270500 +0800 +++ swing.new/src/main/java/common/javax/swing/plaf/basic/BasicTabbedPaneUI.java 2007-10-23 15:43:05.346320400 +0800 @@ -1690,10 +1690,7 @@ protected void setVisibleComponent(final Component component) { Component oldVisible = getVisibleComponent(); - if (oldVisible == component) { - return; - } - + if (oldVisible != component) { if (oldVisible != null) { oldVisible.setVisible(false); } @@ -1697,8 +1694,9 @@ if (oldVisible != null) { oldVisible.setVisible(false); } - visibleComponent = component; + } + if (visibleComponent != null) { visibleComponent.setVisible(true); }