View Javadoc

    1   /*
    2    * @(#) TabbedPane.java Oct 14, 2003
    3    *
    4    * Copyright (c) 2002-2005 Delft University of Technology Jaffalaan 5, 2628 BX
    5    * Delft, the Netherlands. All rights reserved.
    6    *
    7    * This software is proprietary information of Delft University of Technology
    8    * The code is published under the Lesser General Public License
    9    */
    10  package nl.tudelft.simulation.dsol.gui.panels;
    11
    12  import java.awt.Component;
    13  import java.util.HashMap;
    14  import java.util.Map;
    15
    16  import javax.swing.JTabbedPane;
    17
    18  /***
    19   * The TabbedPane <br>
    20   * (c) copyright 2002-2005 <a href="http://www.simulation.tudelft.nl">Delft
    21   * University of Technology </a>, the Netherlands. <br>
    22   * See for project information <a
    23   * href="http://www.simulation.tudelft.nl">www.simulation.tudelft.nl </a> <br>
    24   * License of use: <a href="http://www.gnu.org/copyleft/lesser.html">Lesser
    25   * General Public License (LGPL) </a>, no warranty.
    26   *
    27   * @version $Revision: 1.4 $ $Date: 2005/01/13 16:28:54 $
    28   * @author <a href="http://www.tbm.tudelft.nl/webstaf/peterja">Peter Jacobs </a>
    29   */
    30  public class TabbedPane extends JTabbedPane
    31  {
    32  	/*** the content of the tabbedPane */
    33  	private Map content = new HashMap();
    34
    35  	/***
    36  	 * constructs a new TabbedPane
    37  	 */
    38  	public TabbedPane()
    39  	{
    40  		super();
    41  	}
    42
    43  	/***
    44  	 * constructs a new TabbedPane
    45  	 *
    46  	 * @param tabPlacement the placement
    47  	 */
    48  	public TabbedPane(final int tabPlacement)
    49  	{
    50  		super(tabPlacement);
    51  	}
    52
    53  	/***
    54  	 * constructs a new TabbedPane
    55  	 *
    56  	 * @param tabPlacement the placement
    57  	 * @param tabLayoutPolicy the policy
    58  	 */
    59  	public TabbedPane(final int tabPlacement, final int tabLayoutPolicy)
    60  	{
    61  		super(tabPlacement, tabLayoutPolicy);
    62  	}
    63
    64  	/***
    65  	 * adds a component to the pane
    66  	 *
    67  	 * @param title the title of the component
    68  	 * @param index the index position at which the component will be placed.
    69  	 * @param component the component
    70  	 * @return the component
    71  	 */
    72  	public Component add(final String title, final int index,
    73  			final Component component)
    74  	{
    75  		this.content.put(title, component);
    76  		component.setName(title);
    77  		return super.add(component, index);
    78  	}
    79
    80  	/***
    81  	 * removes the component from the tabbedPane
    82  	 *
    83  	 * @param title the title of the tab
    84  	 */
    85  	public void remove(final String title)
    86  	{
    87  		Component component = (Component) this.content.get(title);
    88  		if (component != null)
    89  		{
    90  			this.remove(component);
    91  		}
    92  	}
    93  }