/** * Overridden to insert the tab at the end or requests focus on the added component. * * @see JTabbedPane#insertTab(String, Icon, Component, String, int) */ public void insertTab(String title, Icon icon, Component component, String tip, int index) { int addIndex = indexOfComponent(component); if (addIndex != -1) { setSelectedComponent(component); return; } super.insertTab(title, icon, component, tip, getTabCount()); ((ClosableTabbedPaneUI) ui).resetDefault(); }
/** * Overridden to fire a property change indicating that component is removed from the tab pane. * * @see JTabbedPane#removeTabAt(int) */ public void removeTabAt(int index) { Component c = getComponentAt(index); if (c instanceof ClosableTabbedPaneComponent) { firePropertyChange(CLOSE_TAB_PROPERTY, null, c); } super.removeTabAt(index); ((ClosableTabbedPaneUI) ui).resetDefault(); int n = getTabCount(); if (n == 0) return; if (index > n) setSelectedComponent(getComponentAt(n - 1)); }