Package net.sf.jaxodraw.gui.swing
Class JaxoClosableTabbedPane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JTabbedPane
-
- net.sf.jaxodraw.gui.swing.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.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JTabbedPane
JTabbedPane.AccessibleJTabbedPane, JTabbedPane.ModelListener
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
-
Fields inherited from class javax.swing.JTabbedPane
changeEvent, changeListener, model, SCROLL_TAB_LAYOUT, tabPlacement, WRAP_TAB_LAYOUT
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
-
-
Constructor Summary
Constructors Constructor Description JaxoClosableTabbedPane()
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addClosableTab(int index, String title, Component c)
Inserts a tab.void
addClosableTab(int index, String title, Icon n, Component c)
Add a tab at 'index' with given title and icon, showing the given component.void
addClosableTab(String title, Component c)
Inserts a tab.void
addClosableTab(String title, Icon n, Component c)
Inserts a tab.void
addClosingListener(TabClosingListener l)
Standard listener pattern.void
addNotify()
void
closingTab(int index)
Programmatically cause the same effect (event) as if the user made a closing action at index.protected void
fireClosing(int index)
Standard listener pattern.Icon
getClosableIconAt(int index)
Use instead of getIconAt.String
getClosableTitleAt(int index)
Use instead of getTitleAt.int
getFontStyleAt(int index)
Font style (PLAIN, BOLD, ITALIC, BOLD|ITALIC) of tab title at 'index'.void
insertTab(String title, Icon icon, Component component, String tip, int index)
boolean
isClosableAt(int index)
Is the tab at 'index' closable by the user?void
removeClosingListener(TabClosingListener l)
Standard listener pattern.void
removeNotify()
void
removeTabAt(int index)
void
setClosableAt(int index, boolean value)
Sets the tab at index as closeable.void
setClosableIconAt(int index, Icon value)
Use instead of setIconAt.void
setClosableTitleAt(int index, String value)
Use instead of setTitleAt.void
setFont(Font font)
void
setFontStyleAt(int index, int value)
Sets the font style of the tab at index.void
updateUI()
-
Methods inherited from class javax.swing.JTabbedPane
add, add, add, add, add, addChangeListener, addTab, addTab, addTab, createChangeListener, fireStateChanged, getAccessibleContext, getBackgroundAt, getBoundsAt, getChangeListeners, getComponentAt, getDisabledIconAt, getDisplayedMnemonicIndexAt, getForegroundAt, getIconAt, getMnemonicAt, getModel, getSelectedComponent, getSelectedIndex, getTabComponentAt, getTabCount, getTabLayoutPolicy, getTabPlacement, getTabRunCount, getTitleAt, getToolTipText, getToolTipTextAt, getUI, getUIClassID, indexAtLocation, indexOfComponent, indexOfTab, indexOfTab, indexOfTabComponent, isEnabledAt, paramString, remove, remove, removeAll, removeChangeListener, setBackgroundAt, setComponentAt, setDisabledIconAt, setDisplayedMnemonicIndexAt, setEnabledAt, setForegroundAt, setIconAt, setMnemonicAt, setModel, setSelectedComponent, setSelectedIndex, setTabComponentAt, setTabLayoutPolicy, setTabPlacement, setTitleAt, setToolTipTextAt, setUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Method Detail
-
addNotify
public void addNotify()
- Overrides:
addNotify
in classJComponent
-
removeNotify
public void removeNotify()
- Overrides:
removeNotify
in classJComponent
-
updateUI
public void updateUI()
- Overrides:
updateUI
in classJTabbedPane
-
setFont
public void setFont(Font font)
- Overrides:
setFont
in classJComponent
-
insertTab
public void insertTab(String title, Icon icon, Component component, String tip, int index)
- Overrides:
insertTab
in classJTabbedPane
-
removeTabAt
public void removeTabAt(int index)
- Overrides:
removeTabAt
in classJTabbedPane
-
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.
-
-