public class JXTaskPane extends JPanel implements JXCollapsiblePane.CollapsiblePaneContainer, Mnemonicable
JXTaskPane
is a container for tasks and other
arbitrary components.
Several JXTaskPane
s are usually grouped together within a
JXTaskPaneContainer
. However it is not mandatory
to use a JXTaskPaneContainer as the parent for JXTaskPane. The JXTaskPane can
be added to any other container. See
JXTaskPaneContainer
to understand the benefits of
using it as the parent container.
JXTaskPane
provides control to expand and
collapse the content area in order to show or hide the task list. It can have an
icon
, a title
and can be marked as
special
. Marking a JXTaskPane
as
special
(setSpecial(boolean)
is only a hint for
the pluggable UI which will usually paint it differently (by example by
using another color for the border of the pane).
When the JXTaskPane is expanded or collapsed, it will be
animated with a fade effect. The animated can be disabled on a per
component basis through setAnimated(boolean)
.
To disable the animation for all newly created JXTaskPane
,
use the UIManager property:
UIManager.put("TaskPane.animate", Boolean.FALSE);
.
Example:
JXFrame frame = new JXFrame();
// a container to put all JXTaskPane together
JXTaskPaneContainer taskPaneContainer = new JXTaskPaneContainer();
// create a first taskPane with common actions
JXTaskPane actionPane = new JXTaskPane();
actionPane.setTitle("Files and Folders");
actionPane.setSpecial(true);
// actions can be added, a hyperlink will be created
Action renameSelectedFile = createRenameFileAction();
actionPane.add(renameSelectedFile);
actionPane.add(createDeleteFileAction());
// add this taskPane to the taskPaneContainer
taskPaneContainer.add(actionPane);
// create another taskPane, it will show details of the selected file
JXTaskPane details = new JXTaskPane();
details.setTitle("Details");
// add standard components to the details taskPane
JLabel searchLabel = new JLabel("Search:");
JTextField searchField = new JTextField("");
details.add(searchLabel);
details.add(searchField);
taskPaneContainer.add(details);
// put the action list on the left
frame.add(taskPaneContainer, BorderLayout.EAST);
// and a file browser in the middle
frame.add(fileBrowser, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
JXTaskPaneContainer
,
JXCollapsiblePane
,
Serialized FormJPanel.AccessibleJPanel
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
static String |
ANIMATED_CHANGED_KEY
Used when generating PropertyChangeEvents for the "animated" property
|
private boolean |
collapsed |
private JXCollapsiblePane |
collapsePane |
private Icon |
icon |
static String |
ICON_CHANGED_KEY
Used when generating PropertyChangeEvents for the "icon" property
|
private int |
mnemonic |
private int |
mnemonicIndex |
static String |
SCROLL_ON_EXPAND_CHANGED_KEY
Used when generating PropertyChangeEvents for the "scrollOnExpand" property
|
private boolean |
scrollOnExpand |
private boolean |
special |
static String |
SPECIAL_CHANGED_KEY
Used when generating PropertyChangeEvents for the "special" property
|
private String |
title |
static String |
TITLE_CHANGED_KEY
Used when generating PropertyChangeEvents for the "title" property
|
static String |
uiClassID
JXTaskPane pluggable UI key swingx/TaskPaneUI
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
JXTaskPane()
Creates a new empty
JXTaskPane . |
JXTaskPane(Icon icon)
Creates a new task pane with the specified icon.
|
JXTaskPane(String title)
Creates a new task pane with the specified title.
|
JXTaskPane(String title,
Icon icon)
Creates a new task pane with the specified title and icon.
|
Modifier and Type | Method and Description |
---|---|
Component |
add(Action action)
Adds an action to this
JXTaskPane . |
protected void |
addImpl(Component comp,
Object constraints,
int index)
Overridden to redirect call to the content pane.
|
Container |
getContentPane()
Returns the contentPane object for this JXTaskPane.
|
int |
getDisplayedMnemonicIndex()
Returns the character, as an index, that the look and feel should
provide decoration for as representing the mnemonic character.
|
Icon |
getIcon()
Returns the icon currently displayed in the border of this pane.
|
int |
getMnemonic()
Returns the keyboard mnemonic for this component.
|
String |
getTitle()
Returns the title currently displayed in the border of this pane.
|
String |
getUIClassID()
Returns the name of the L&F class that renders this component.
|
Container |
getValidatingContainer() |
boolean |
isAnimated()
Returns true if this task pane is animated during expand/collapse
transition.
|
boolean |
isCollapsed()
Returns the collapsed state of this task pane.
|
boolean |
isScrollOnExpand()
Should this group scroll to be visible after
this group was expanded.
|
boolean |
isSpecial()
Returns true if this pane is "special".
|
protected String |
paramString() |
void |
remove(Component comp)
Overridden to redirect call to the content pane
|
void |
remove(int index)
Overridden to redirect call to the content pane.
|
void |
removeAll()
Overridden to redirect call to the content pane.
|
void |
setAnimated(boolean animated)
Enables or disables animation during expand/collapse transition.
|
void |
setCollapsed(boolean collapsed)
Expands or collapses this group.
|
void |
setDisplayedMnemonicIndex(int index)
Provides a hint to the look and feel as to which character in the
text should be decorated to represent the mnemonic.
|
void |
setIcon(Icon icon)
Sets the icon to be displayed in the border of this pane.
|
void |
setLayout(LayoutManager mgr)
Overridden to redirect call to the content pane.
|
void |
setMnemonic(int mnemonic)
Sets the keyboard mnemonic on this component.
|
void |
setScrollOnExpand(boolean scrollOnExpand)
Should this group be scrolled to be visible on expand.
|
void |
setSpecial(boolean special)
Sets this pane to be "special" or not.
|
void |
setTitle(String title)
Sets the title to be displayed in the border of this pane.
|
void |
setUI(TaskPaneUI ui)
Sets the L&F object that renders this component.
|
private void |
updateDisplayedMnemonicIndex(String text,
int mnemonic)
Update the displayedMnemonicIndex property.
|
void |
updateUI()
Notification from the
UIManager that the L&F has changed. |
getAccessibleContext, getUI, setUI
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, 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, 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, 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, transferFocusDownCycle, validate, validateTree
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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public static final String uiClassID
public static final String SCROLL_ON_EXPAND_CHANGED_KEY
public static final String TITLE_CHANGED_KEY
public static final String ICON_CHANGED_KEY
public static final String SPECIAL_CHANGED_KEY
public static final String ANIMATED_CHANGED_KEY
private boolean special
private boolean collapsed
private boolean scrollOnExpand
private int mnemonic
private int mnemonicIndex
private JXCollapsiblePane collapsePane
public JXTaskPane()
JXTaskPane
.public JXTaskPane(String title)
title
- the title to usepublic JXTaskPane(Icon icon)
icon
- the icon to usepublic JXTaskPane(String title, Icon icon)
title
- the title to useicon
- the icon to usepublic Container getContentPane()
public void updateUI()
UIManager
that the L&F has changed.
Replaces the current UI object with the latest version from the UIManager
.updateUI
in class JPanel
JComponent.updateUI()
public void setUI(TaskPaneUI ui)
ui
- the TaskPaneUI
L&F objectUIDefaults.getUI(javax.swing.JComponent)
public String getUIClassID()
getUIClassID
in class JPanel
uiClassID
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
public String getTitle()
public void setTitle(String title)
title
- the title to be displayed in the border of this panepublic Icon getIcon()
public void setIcon(Icon icon)
icon
- the icon to be displayed in the border of this panepublic boolean isSpecial()
setSpecial(boolean)
public void setSpecial(boolean special)
JXTaskPane
as special
is only a hint for the pluggable UI which will
usually paint it differently (by example by using another color for the
border of the pane).
Usually the first JXTaskPane in a JXTaskPaneContainer is marked as special because it contains the default set of actions which can be executed given the current context.
special
- true if this pane is "special", false otherwisepublic void setScrollOnExpand(boolean scrollOnExpand)
scrollOnExpand
- true to scroll this group to be
visible if this group is expanded.setCollapsed(boolean)
public boolean isScrollOnExpand()
public void setCollapsed(boolean collapsed)
As of SwingX 1.6.3, the property change event only fires when the state is accurate. As such, animated task pane fire once the animation is complete.
collapsed
- true to collapse the group, false to expand itpublic boolean isCollapsed()
true
if the task pane is collapsed; false
otherwisepublic void setAnimated(boolean animated)
animated
- public boolean isAnimated()
public int getMnemonic()
If the character defined by the mnemonic is found within the task pane's text string, the first occurrence of it will be underlined to indicate the mnemonic to the user.
getMnemonic
in interface Mnemonicable
public void setMnemonic(int mnemonic)
A mnemonic must correspond to a single key on the keyboard and should be
specified using one of the VK_XXX
keycodes defined in
java.awt.event.KeyEvent
. Mnemonics are case-insensitive,
therefore a key event with the corresponding keycode would cause the
button to be activated whether or not the Shift modifier was pressed.
setMnemonic
in interface Mnemonicable
mnemonic
- the key code which represents the mnemonicKeyEvent
,
Mnemonicable.setDisplayedMnemonicIndex(int)
private void updateDisplayedMnemonicIndex(String text, int mnemonic)
public int getDisplayedMnemonicIndex()
getDisplayedMnemonicIndex
in interface Mnemonicable
Mnemonicable.setDisplayedMnemonicIndex(int)
public void setDisplayedMnemonicIndex(int index) throws IllegalArgumentException
The value of this is updated as the properties relating to the
mnemonic change (such as the mnemonic itself, the text...).
You should only ever have to call this if
you do not wish the default character to be underlined. For example, if
the text was 'Save As', with a mnemonic of 'a', and you wanted the 'A'
to be decorated, as 'Save As', you would have to invoke
setDisplayedMnemonicIndex(5)
after invoking
setMnemonic(KeyEvent.VK_A)
.
setDisplayedMnemonicIndex
in interface Mnemonicable
index
- Index into the String to underlineIllegalArgumentException
- will be thrown if index
is >= length of the text, or < -1Mnemonicable.getDisplayedMnemonicIndex()
public Component add(Action action)
JXTaskPane
. Returns a
component built from the action. The returned component has been
added to the JXTaskPane
.action
- public Container getValidatingContainer()
getValidatingContainer
in interface JXCollapsiblePane.CollapsiblePaneContainer
JXCollapsiblePane.CollapsiblePaneContainer
protected void addImpl(Component comp, Object constraints, int index)
public void setLayout(LayoutManager mgr)
public void remove(int index)
public void removeAll()
protected String paramString()
paramString
in class JPanel
JComponent.paramString()
WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses