diff --git a/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/model/component/JTabbedPaneInfo.java b/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/model/component/JTabbedPaneInfo.java index bab1fd23f..7a6ed097f 100644 --- a/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/model/component/JTabbedPaneInfo.java +++ b/org.eclipse.wb.swing/src/org/eclipse/wb/internal/swing/model/component/JTabbedPaneInfo.java @@ -110,8 +110,11 @@ public List getTabs() { Component componentObject = pane.getComponentAt(i); ComponentInfo component = (ComponentInfo) getChildByObject(componentObject); if (component != null) { - Rectangle bounds = CoordinateUtils.get(pane.getBoundsAt(i)); - tabs.add(new JTabbedPaneTabInfo(this, component, bounds)); + java.awt.Rectangle awtBounds = pane.getBoundsAt(i); + if (awtBounds != null) { + Rectangle bounds = CoordinateUtils.get(pane.getBoundsAt(i)); + tabs.add(new JTabbedPaneTabInfo(this, component, bounds)); + } } } // @@ -145,19 +148,16 @@ protected void refresh_afterCreate() throws Exception { { int tabCount = pane.getTabCount(); for (int i = tabCount - 1; i >= 0; i--) { - if (pane.getComponentAt(i) == null || pane.getBoundsAt(i) == null) { + if (pane.getComponentAt(i) == null) { pane.remove(i); } } } // apply active component { - ComponentInfo activeComponentInfo = getActiveComponent(); - if (activeComponentInfo != null) { - Component activeComponent = activeComponentInfo.getComponent(); - if (activeComponent != null && pane.indexOfComponent(activeComponent) != -1) { - pane.setSelectedComponent(activeComponent); - } + ComponentInfo activeComponent = getActiveComponent(); + if (activeComponent != null) { + pane.setSelectedComponent(activeComponent.getComponent()); } } } diff --git a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/component/JTabbedPaneTest.java b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/component/JTabbedPaneTest.java index 375e29881..5ed693640 100644 --- a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/component/JTabbedPaneTest.java +++ b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/component/JTabbedPaneTest.java @@ -39,6 +39,7 @@ import java.awt.Color; import java.awt.Component; +import java.util.Collections; import java.util.List; import javax.swing.JTabbedPane; @@ -210,7 +211,7 @@ public void repaint(Rectangle r) { JTabbedPaneInfo tabbed = (JTabbedPaneInfo) panel.getChildrenComponents().get(0); assertNoErrors(panel); // ask tabs - Assertions.assertThat(tabbed.getTabs()).isEmpty(); + assertEquals(tabbed.getTabs(), Collections.emptyList()); } /**