Class JaxoClosableTabbedPane

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants

public class JaxoClosableTabbedPane extends JTabbedPane
Extension of JTabbedPane with closable tabs. USAGE:
  • Only use addClosableTab (not addTab, insertTab)
  • Do not use setIconAt, setDisabledIconAt, setTitleAt, but new methds with "closable" in the name. For a disabled icon, use a custom icon that knows how to paint itself disabled.
  • getIconAt, getDisabledIconAt, getTitleAt, are not meaningful.
For general-purpose use, this implementation lacks support for disabled state both of tabs and of the tab pane), support for RTL orientation and improved accessibility code (showing the titles as accessible names). Neither is of importance for JaxoDraw at the moment.
Since:
2.0
See Also:
  • Constructor Details

    • JaxoClosableTabbedPane

      public JaxoClosableTabbedPane()
      Constructor.
  • Method Details

    • addNotify

      public void addNotify()
      Overrides:
      addNotify in class JComponent
    • removeNotify

      public void removeNotify()
      Overrides:
      removeNotify in class JComponent
    • updateUI

      public void updateUI()
      Overrides:
      updateUI in class JTabbedPane
    • setFont

      public void setFont(Font font)
      Overrides:
      setFont in class JComponent
    • insertTab

      public void insertTab(String title, Icon icon, Component component, String tip, int index)
      DO NOT USE. Use any of the addClosableTab methods.
      Overrides:
      insertTab in class JTabbedPane
    • removeTabAt

      public void removeTabAt(int index)
      Overrides:
      removeTabAt in class JTabbedPane
    • isClosableAt

      public boolean isClosableAt(int index)
      Is the tab at 'index' closable by the user?
      Parameters:
      index - The index of the tab to check.
      Returns:
      True if the tab is closeable.
    • setClosableAt

      public void setClosableAt(int index, boolean value)
      Sets the tab at index as closeable.
      Parameters:
      index - The index of the tab.
      value - True if the tab should be closeable.
    • getFontStyleAt

      public int getFontStyleAt(int index)
      Font style (PLAIN, BOLD, ITALIC, BOLD|ITALIC) of tab title at 'index'. The default is plain.
      Parameters:
      index - The index of the tab.
      Returns:
      The font style.
    • setFontStyleAt

      public void setFontStyleAt(int index, int value)
      Sets the font style of the tab at index.
      Parameters:
      index - The index of the tab.
      value - The font style to set.
    • addClosableTab

      public void addClosableTab(String title, Component c)
      Inserts a tab.
      Parameters:
      title - The tab title.
      c - The component to be displayed when this tab is clicked.
    • addClosableTab

      public void addClosableTab(String title, Icon n, Component c)
      Inserts a tab.
      Parameters:
      title - The tab title.
      n - An icon for the tab.
      c - The component to be displayed when this tab is clicked.
    • addClosableTab

      public void addClosableTab(int index, String title, Component c)
      Inserts a tab.
      Parameters:
      index - The tab index.
      title - The tab title.
      c - The component to be displayed when this tab is clicked.
    • addClosableTab

      public void addClosableTab(int index, String title, Icon n, Component c)
      Add a tab at 'index' with given title and icon, showing the given component. By default, the tab is closable. This method (or one of the delegates) must be used to add new tabs.
      Parameters:
      index - The tab index.
      title - The tab title.
      n - An icon for the tab.
      c - The component to be displayed when this tab is clicked.
    • setClosableTitleAt

      public void setClosableTitleAt(int index, String value)
      Use instead of setTitleAt.
      Parameters:
      index - The index of the tab.
      value - The title to set.
    • getClosableTitleAt

      public String getClosableTitleAt(int index)
      Use instead of getTitleAt.
      Parameters:
      index - The index of the tab.
      Returns:
      The title of the tab at index.
    • setClosableIconAt

      public void setClosableIconAt(int index, Icon value)
      Use instead of setIconAt.
      Parameters:
      index - The index of the tab.
      value - The icon to set.
    • getClosableIconAt

      public Icon getClosableIconAt(int index)
      Use instead of getIconAt.
      Parameters:
      index - The index of the tab.
      Returns:
      The icon of the tab.
    • addClosingListener

      public void addClosingListener(TabClosingListener l)
      Standard listener pattern.
      Parameters:
      l - The listener to add.
    • removeClosingListener

      public void removeClosingListener(TabClosingListener l)
      Standard listener pattern.
      Parameters:
      l - The listener to remove.
    • fireClosing

      protected void fireClosing(int index)
      Standard listener pattern.
      Parameters:
      index - The index of the tab.
    • closingTab

      public void closingTab(int index)
      Programmatically cause the same effect (event) as if the user made a closing action at index. The index is required to be closable.
      Parameters:
      index - The tab to close.