public void setVisible(Component c, boolean visible) {
		if (visible) {
			if (this.hiddenTabs.contains(c)) {
				
				if (c instanceof AbstractPanel) {
					// Don't use the addTab(AbstractPanel) methods as we need to force visibility
					AbstractPanel panel = (AbstractPanel)c;
					this.addTab(c.getName(), panel.getIcon(), panel, panel.isHideable(), true, panel.getTabIndex());
				} else {
					// Work out the index to add it back in
					int index = this.fullTabList.indexOf(c);
					while (index >= 0) {
						if (index > 0 && ! this.hiddenTabs.contains(this.fullTabList.get(index -1))) {
							// Found the first preceding tab that isn't hidden
							break;
						}
						index--;
					}
					
					this.addTab(c.getName(), null, c, true, true, index);
				}
				this.hiddenTabs.remove(c);
				handleHiddenTabListTab();
			}
			return;
		}

		hideTab(c);
	}
public void setVisible ( Component c , boolean visible ) { if ( visible ) { if ( this . hiddenTabs . contains ( c ) ) { if ( c instanceof AbstractPanel ) { AbstractPanel panel = ( AbstractPanel ) c ; this . addTab ( c . getName ( ) , panel . getIcon ( ) , panel , panel . isHideable ( ) , true , panel . getTabIndex ( ) ) ; } else { int index = this . fullTabList . indexOf ( c ) ; while ( index >= 0 ) { if ( index > 0 && ! this . hiddenTabs . contains ( this . fullTabList . get ( index - 1 ) ) ) { break ; } index -- ; } this . addTab ( c . getName ( ) , null , c , true , true , index ) ; } this . hiddenTabs . remove ( c ) ; handleHiddenTabListTab ( ) ; } return ; } hideTab ( c ) ; }
Sets whether or not the given component (and corresponding tab) is visible.
<p>
<strong>Note:</strong> Non-{@link AbstractPanel#isHideable() hideable} and {@link AbstractPanel#isPinned() pinned} panels
are hidden as well.

@param c the component to show or hide.
@param visible {@code true} if the tab of the component should be visible, {@code false} otherwise.