org.jdesktop.swingx
Class JXTitledSeparator

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.jdesktop.swingx.JXPanel
                      extended by org.jdesktop.swingx.JXTitledSeparator
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable

public class JXTitledSeparator
extends JXPanel

A simple horizontal separator that contains a title.

JXTitledSeparator allows you to specify the title via the setTitle(java.lang.String) method. The title alignment may be specified by using the setHorizontalAlignment(int) method, and accepts all the same arguments as the JLabel.setHorizontalAlignment(int) method.

In addition, you may specify an Icon to use with this separator. The icon will appear "leading" the title (on the left in left-to-right languages, on the right in right-to-left languages). To change the position of the title with respect to the icon, call setHorizontalTextPosition(int).

The default font and color of the title comes from the LookAndFeel, mimicking the font and color of the TitledBorder

Here are a few example code snippets:


  //create a plain separator
  JXTitledSeparator sep = new JXTitledSeparator();
  sep.setTitle("Customer Info");

  //create a separator with an icon
  sep = new JXTitledSeparator();
  sep.setTitle("Customer Info");
  sep.setIcon(new ImageIcon("myimage.png"));

  //create a separator with an icon to the right of the title,
  //center justified
  sep = new JXTitledSeparator();
  sep.setTitle("Customer Info");
  sep.setIcon(new ImageIcon("myimage.png"));
  sep.setHorizontalAlignment(SwingConstants.CENTER);
  sep.setHorizontalTextPosition(SwingConstants.TRAILING);
 

See Also:
Serialized Form
Review status:
REVIEWED

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
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.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
 
Constructor Summary
JXTitledSeparator()
          Creates a new instance of JXTitledSeparator.
JXTitledSeparator(String title)
          Creates a new instance of JXTitledSeparator with the specified title.
JXTitledSeparator(String title, int horizontalAlignment)
          Creates a new instance of JXTitledSeparator with the specified title and horizontal alignment.
JXTitledSeparator(String title, int horizontalAlignment, Icon icon)
          Creates a new instance of JXTitledSeparator with the specified title, icon, and horizontal alignment.
 
Method Summary
 ComponentOrientation getComponentOrientation()
          Retrieves the language-sensitive orientation that is to be used to order the elements or text within this component.
 int getHorizontalAlignment()
          Returns the alignment of the title contents along the X axis.
 int getHorizontalTextPosition()
          Returns the horizontal position of the title's text, relative to the icon.
 Icon getIcon()
          Returns the graphic image (glyph, icon) that the JXTitledSeparator displays.
 String getTitle()
          Gets the title.
 void setComponentOrientation(ComponentOrientation o)
          Sets the language-sensitive orientation that is to be used to order the elements or text within this component.
 void setFont(Font font)
          Sets the font for this component.
 void setForeground(Color foreground)
          Sets the foreground color of this component.
 void setHorizontalAlignment(int alignment)
          Sets the alignment of the title along the X axis.
 void setHorizontalTextPosition(int position)
          Sets the horizontal position of the title's text, relative to the icon.
 void setIcon(Icon icon)
          Defines the icon this component will display.
 void setTitle(String title)
          Sets the title for the separator.
protected  void updateTitle()
          Implementation detail.
 
Methods inherited from class org.jdesktop.swingx.JXPanel
getAlpha, getBackgroundPainter, getEffectiveAlpha, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, isInheritAlpha, isPaintBorderInsets, paint, paintComponent, setAlpha, setBackground, setBackgroundPainter, setInheritAlpha, setPaintBorderInsets, setScrollableTracksViewportHeight, setScrollableTracksViewportWidth
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, 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, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
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, transferFocusBackward, 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, 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, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JXTitledSeparator

public JXTitledSeparator()
Creates a new instance of JXTitledSeparator. The default title is simply an empty string. Default justification is LEADING, and the default horizontal text position is TRAILING (title follows icon)


JXTitledSeparator

public JXTitledSeparator(String title)
Creates a new instance of JXTitledSeparator with the specified title. Default horizontal alignment is LEADING, and the default horizontal text position is TRAILING (title follows icon)


JXTitledSeparator

public JXTitledSeparator(String title,
                         int horizontalAlignment)
Creates a new instance of JXTitledSeparator with the specified title and horizontal alignment. The default horizontal text position is TRAILING (title follows icon)


JXTitledSeparator

public JXTitledSeparator(String title,
                         int horizontalAlignment,
                         Icon icon)
Creates a new instance of JXTitledSeparator with the specified title, icon, and horizontal alignment. The default horizontal text position is TRAILING (title follows icon)

Method Detail

updateTitle

protected void updateTitle()
Implementation detail. Handles updates of title color and font on LAF change. For more details see swingx#451.


setTitle

public void setTitle(String title)
Sets the title for the separator. This may be simple html, or plain text.

Parameters:
title - the new title. Any string input is acceptable

getTitle

public String getTitle()
Gets the title.

Returns:
the title being used for this JXTitledSeparator. This will be the raw title text, and so may include html tags etc if they were so specified in #setTitle.

setHorizontalAlignment

public void setHorizontalAlignment(int alignment)

Sets the alignment of the title along the X axis. If leading, then the title will lead the separator (in left-to-right languages, the title will be to the left and the separator to the right). If centered, then a separator will be to the left, followed by the title (centered), followed by a separator to the right. Trailing will have the title on the right with a separator to its left, in left-to-right languages.

LEFT and RIGHT always position the text left or right of the separator, respectively, regardless of the language orientation.

Parameters:
alignment - One of the following constants defined in SwingConstants: LEFT, CENTER, RIGHT, LEADING (the default) or TRAILING.
Throws:
IllegalArgumentException - if the alignment does not match one of the accepted inputs.
See Also:
SwingConstants, getHorizontalAlignment()

getHorizontalAlignment

public int getHorizontalAlignment()
Returns the alignment of the title contents along the X axis.

Returns:
The value of the horizontalAlignment property, one of the following constants defined in SwingConstants: LEFT, CENTER, RIGHT, LEADING or TRAILING.
See Also:
setHorizontalAlignment(int), SwingConstants

setHorizontalTextPosition

public void setHorizontalTextPosition(int position)
Sets the horizontal position of the title's text, relative to the icon.

Parameters:
position - One of the following constants defined in SwingConstants: LEFT, CENTER, RIGHT, LEADING, or TRAILING (the default).
Throws:
IllegalArgumentException - if the position does not match one of the accepted inputs.

getHorizontalTextPosition

public int getHorizontalTextPosition()
Returns the horizontal position of the title's text, relative to the icon.

Returns:
One of the following constants defined in SwingConstants: LEFT, CENTER, RIGHT, LEADING or TRAILING.
See Also:
SwingConstants

getComponentOrientation

public ComponentOrientation getComponentOrientation()
Retrieves the language-sensitive orientation that is to be used to order the elements or text within this component. LayoutManager and Component subclasses that wish to respect orientation should call this method to get the component's orientation before performing layout or drawing.

Overrides:
getComponentOrientation in class Component
See Also:
ComponentOrientation

setComponentOrientation

public void setComponentOrientation(ComponentOrientation o)
Sets the language-sensitive orientation that is to be used to order the elements or text within this component. Language-sensitive LayoutManager and Component subclasses will use this property to determine how to lay out and draw components.

At construction time, a component's orientation is set to ComponentOrientation.UNKNOWN, indicating that it has not been specified explicitly. The UNKNOWN orientation behaves the same as ComponentOrientation.LEFT_TO_RIGHT.

To set the orientation of a single component, use this method. To set the orientation of an entire component hierarchy, use applyComponentOrientation.

Overrides:
setComponentOrientation in class Component
See Also:
ComponentOrientation

setIcon

public void setIcon(Icon icon)
Defines the icon this component will display. If the value of icon is null, nothing is displayed.

The default value of this property is null.

See Also:
setHorizontalTextPosition(int), getIcon()

getIcon

public Icon getIcon()
Returns the graphic image (glyph, icon) that the JXTitledSeparator displays.

Returns:
an Icon
See Also:
setIcon(javax.swing.Icon)

setForeground

public void setForeground(Color foreground)
Sets the foreground color of this component.

Overrides:
setForeground in class JComponent
Parameters:
foreground - the desired foreground Color
See Also:
Component.getForeground()

setFont

public void setFont(Font font)
Sets the font for this component.

Overrides:
setFont in class JComponent
Parameters:
font - the desired Font for this component
See Also:
Component.getFont()