public class ClosableTab
extends javax.swing.JPanel
implements java.awt.event.ActionListener
JTabbedPane
which can be closed.
To be consistent with other applications like Firefox the tab component can only be closed
if it is currently selected by the user. The closing feature can be temporarily disabled.
External action listeners can be installed to react on tab closing e.g. by showing a dialog
where the user can save files etc.
javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
ClosableTab()
Constructor method for i18n purposes only.
|
ClosableTab(java.lang.String title,
javax.swing.Icon icon,
java.lang.String tooltip,
boolean closable)
Constructor of this form.
|
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(java.awt.event.ActionEvent e)
Reacts on component interaction.
|
void |
addActionListener(java.awt.event.ActionListener listener)
Adds an instance reacting on tab close events.
|
void |
addClosableTabListener(ClosableTabListener listener)
Adds an instance reacting on closed tabs.
|
void |
addMouseListener(java.awt.event.MouseListener listener)
Adds an instance reacting on mouse events.
|
protected void |
finalize()
Clean-up method to help the gc.
|
static java.lang.String |
getActionCommand()
Provide the action command for the close button.
|
static ClosableTab |
getClosableTab(javax.swing.JButton button)
Determines the parental
ClosableTab for the given button. |
static javax.swing.event.ChangeListener |
installChangeListener(javax.swing.JTabbedPane tabbedpane)
Convenience method to install a change listener which refreshes the given closable tab.
|
void |
refresh()
Updates the tab renderer according to its current state.
|
void |
removeActionListener(java.awt.event.ActionListener listener)
Removes an instance reacting on tab close events.
|
void |
removeClosableTabListener(ClosableTabListener listener)
Removes an instance reacting on closed tabs.
|
void |
removeMouseListener(java.awt.event.MouseListener listener)
Removes an instance reacting on mouse events.
|
void |
setIcon(javax.swing.Icon icon)
Changes the tab icon (not the close icon!).
|
void |
setText(java.lang.String text)
Changes the tab text.
|
void |
setToolTip(java.lang.String text)
Changes the tooltip.
|
void |
tabClosed()
Informs the installed
ClosableTabListener 's. |
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
addAncestorListener, addNotify, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, 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, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public ClosableTab() throws java.lang.InstantiationException
I18NExtractor
).
java.lang.InstantiationException
- Error indicationpublic ClosableTab(java.lang.String title, javax.swing.Icon icon, java.lang.String tooltip, boolean closable)
title
- The title to be displayed in this tabicon
- The icon to be displayed in this tabtooltip
- The tooltip to be displayed for this tabclosable
- May the tab be closed by the user?protected void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
public void addActionListener(java.awt.event.ActionListener listener)
listener
- Action listener to be addedjava.lang.NullPointerException
- If listener is null
public void removeActionListener(java.awt.event.ActionListener listener)
listener
- Action listener to be removedjava.lang.NullPointerException
- If listener is null
public void addMouseListener(java.awt.event.MouseListener listener)
addMouseListener
in class java.awt.Component
listener
- Mouse listener to be addedjava.lang.NullPointerException
- If listener is null
public void removeMouseListener(java.awt.event.MouseListener listener)
removeMouseListener
in class java.awt.Component
listener
- Mouse listener to be removedjava.lang.NullPointerException
- If listener is null
public static java.lang.String getActionCommand()
public void refresh()
java.lang.NullPointerException
- If listener is null
public void setIcon(javax.swing.Icon icon)
icon
- The tab iconpublic void setText(java.lang.String text)
text
- The tab textpublic void setToolTip(java.lang.String text)
text
- The tab tooltippublic static ClosableTab getClosableTab(javax.swing.JButton button)
ClosableTab
for the given button.
button
- The buttonnull
java.lang.NullPointerException
- If listener is null
public void addClosableTabListener(ClosableTabListener listener)
listener
- Listener to be addedjava.lang.NullPointerException
- If listener is null
public void removeClosableTabListener(ClosableTabListener listener)
listener
- Listener to be removedjava.lang.NullPointerException
- If listener is null
public void tabClosed()
ClosableTabListener
's.
public static javax.swing.event.ChangeListener installChangeListener(javax.swing.JTabbedPane tabbedpane)
tabbedpane
- The parental componentjava.lang.NullPointerException
- If listener is null
public void actionPerformed(java.awt.event.ActionEvent e)
actionPerformed
in interface java.awt.event.ActionListener
e
- Event to be processedCopyright © 2005-2013 Leisenfels UG (haftungsbeschränkt). All rights reserved.