Package org.jdesktop.swingx
Class JXHeader
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.jdesktop.swingx.JXPanel
-
- org.jdesktop.swingx.JXHeader
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.Scrollable
public class JXHeader extends JXPanel
JXHeader is a simple component consisting of a title, a description, and an icon. An example of such a component can be seen on Romain Guys ProgX website
JXHeader
is a simple component that is also sufficiently configurable to be usable. The description area accepts HTML conforming to version 3.2 of the HTML standard. The icon, title, and description are all configurable.JXHeader
itself extendsJXPanel
, providing translucency and painting delegates.If I were to reconstruct the ui shown in the above screenshot, I might do so like this:
Note: The HTML support doesn't exist yet. The UI delegate needs to discover whether the text supplied is HTML or not, and change the content type of the editor pane being used. The problem is that if "text/html" is always used, the font is wrong. This same situation will be found in other parts of the code (JXErrorPane, for instance), so this needs to be dealt with.JXHeader header = new JXHeader(); header.setTitle("Timing Framework Spline Editor"); header.setDescription("Drag control points in the display to change the " + "shape of the spline\n" + "Click the Copy Code button to generate the corresponding Java code."); Icon icon = new ImageIcon(getClass().getResource("tools.png")); header.setIcon(icon);
Defaults
BasicHeaderUI uses the following UI defaults:
- Header.defaultIcon: The default icon to use when creating a new JXHeader.
- Author:
- rbair, rah003
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JXHeader.IconPosition
Specifies desired location of the icon relative to the title/description text.-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
uiClassID
JXHeader pluggable UI key HeaderUI-
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
-
-
Constructor Summary
Constructors Constructor Description JXHeader()
Creates a new instance of JXHeaderJXHeader(java.lang.String title, java.lang.String description)
Creates a new instance of JXHeader.JXHeader(java.lang.String title, java.lang.String description, javax.swing.Icon icon)
Creates a new instance of JXHeader.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getDescription()
Gets the description.java.awt.Font
getDescriptionFont()
Gets description font.java.awt.Color
getDescriptionForeground()
Gets current description foreground color.javax.swing.Icon
getIcon()
Gets the icon.JXHeader.IconPosition
getIconPosition()
Gets current icon position.java.awt.Dimension
getPreferredSize()
java.lang.String
getTitle()
Gets the title.java.awt.Font
getTitleFont()
Gets title font.java.awt.Color
getTitleForeground()
Gets current title foreground color.HeaderUI
getUI()
java.lang.String
getUIClassID()
Returns the name of the L&F class that renders this component.void
setDescription(java.lang.String description)
Sets the description for this header.void
setDescriptionFont(java.awt.Font font)
Sets font for the description line of header.void
setDescriptionForeground(java.awt.Color descriptionForeground)
Sets description foreground color.void
setFont(java.awt.Font font)
Sets new font for both, title and description line of the header.void
setIcon(javax.swing.Icon icon)
Sets the icon to use for the header.void
setIconPosition(JXHeader.IconPosition iconPosition)
Sets new Icon position.void
setTitle(java.lang.String title)
Sets the title to use.void
setTitleFont(java.awt.Font font)
Sets new font for title.void
setTitleForeground(java.awt.Color titleForeground)
Sets title foreground color.void
setUI(HeaderUI ui)
Sets the look and feel (L&F) object that renders this component.void
updateUI()
Notification from theUIManager
that the L&F has changed.-
Methods inherited from class org.jdesktop.swingx.JXPanel
getAlpha, getBackgroundPainter, getEffectiveAlpha, getPainterChangeListener, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableHeightHint, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollableWidthHint, isInheritAlpha, isPaintBorderInsets, paint, paintComponent, setAlpha, setBackground, setBackgroundPainter, setInheritAlpha, setPaintBorderInsets, setScrollableHeightHint, setScrollableTracksViewportHeight, setScrollableTracksViewportWidth, setScrollableWidthHint
-
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, 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, 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, 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, setForeground, 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, 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
-
-
-
-
Field Detail
-
uiClassID
public static final java.lang.String uiClassID
JXHeader pluggable UI key HeaderUI- See Also:
- Constant Field Values
-
-
Constructor Detail
-
JXHeader
public JXHeader()
Creates a new instance of JXHeader
-
JXHeader
public JXHeader(java.lang.String title, java.lang.String description)
Creates a new instance of JXHeader. PropertyChangeEvents are fired when the title and description properties are set.- Parameters:
title
- specifies the title property for this JXHeaderdescription
- specifies the description property for this JXHeader
-
JXHeader
public JXHeader(java.lang.String title, java.lang.String description, javax.swing.Icon icon)
Creates a new instance of JXHeader. PropertyChangeEvents are fired when the title and description properties are set.- Parameters:
title
- specifies the title property for this JXHeaderdescription
- specifies the description property for this JXHeadericon
- specifies the icon property for this JXHeader
-
-
Method Detail
-
getUI
public HeaderUI getUI()
- Overrides:
getUI
in classjavax.swing.JPanel
-
setUI
public void setUI(HeaderUI ui)
Sets the look and feel (L&F) object that renders this component.- Parameters:
ui
- the HeaderUI L&F object- See Also:
UIDefaults.getUI(javax.swing.JComponent)
-
getUIClassID
public java.lang.String getUIClassID()
Returns the name of the L&F class that renders this component.- Overrides:
getUIClassID
in classjavax.swing.JPanel
- Returns:
- the string
uiClassID
- See Also:
JComponent.getUIClassID()
,UIDefaults.getUI(javax.swing.JComponent)
-
updateUI
public void updateUI()
Notification from theUIManager
that the L&F has changed. Replaces the current UI object with the latest version from theUIManager
.- Overrides:
updateUI
in classjavax.swing.JPanel
- See Also:
JComponent.updateUI()
-
setTitle
public void setTitle(java.lang.String title)
Sets the title to use. This may be either plain text, or a simplified version of HTML, as JLabel would use.- Parameters:
title
- the Title. May be null.
-
getTitle
public java.lang.String getTitle()
Gets the title. This may use HTML, such as that supported by JLabel (version 3.2 of the HTML spec).- Returns:
- the title. May be null.
-
setDescription
public void setDescription(java.lang.String description)
Sets the description for this header. This may use HTML, such as that supported by JLabel (version 3.2 of the HTML spec).- Parameters:
description
- the description. May be null, may be HTML or plain text.
-
getDescription
public java.lang.String getDescription()
Gets the description.- Returns:
- description
-
setIcon
public void setIcon(javax.swing.Icon icon)
Sets the icon to use for the header. It is generally recommended that this be an image 64x64 pixels in size, and that the icon have no gaps at the top.- Parameters:
icon
- may be null
-
getIcon
public javax.swing.Icon getIcon()
Gets the icon.- Returns:
- the Icon being used. May be null.
-
setFont
public void setFont(java.awt.Font font)
Sets new font for both, title and description line of the header.- Overrides:
setFont
in classjavax.swing.JComponent
- See Also:
JComponent.setFont(java.awt.Font)
-
setTitleFont
public void setTitleFont(java.awt.Font font)
Sets new font for title.- Parameters:
font
- New title font.
-
getTitleFont
public java.awt.Font getTitleFont()
Gets title font.- Returns:
- the Font being used. May be null.
-
setDescriptionFont
public void setDescriptionFont(java.awt.Font font)
Sets font for the description line of header.- Parameters:
font
- New description font.
-
getDescriptionFont
public java.awt.Font getDescriptionFont()
Gets description font.- Returns:
- the Font being used. May be null.
-
getTitleForeground
public java.awt.Color getTitleForeground()
Gets current title foreground color.- Returns:
- the Color used to paint title. May be null.
-
setTitleForeground
public void setTitleForeground(java.awt.Color titleForeground)
Sets title foreground color.- Parameters:
titleForeground
- the Color to be used to paint title.
-
getDescriptionForeground
public java.awt.Color getDescriptionForeground()
Gets current description foreground color.- Returns:
- the Color used to paint description. May be null.
-
setDescriptionForeground
public void setDescriptionForeground(java.awt.Color descriptionForeground)
Sets description foreground color.- Parameters:
descriptionForeground
- the Color to be used to paint description.
-
getIconPosition
public JXHeader.IconPosition getIconPosition()
Gets current icon position. Default is RIGHT.- Returns:
- Current Icon position.
-
setIconPosition
public void setIconPosition(JXHeader.IconPosition iconPosition)
Sets new Icon position. Position is relative to the text. Default value is RIGHT.- Parameters:
iconPosition
- new desired icon position- See Also:
getIconPosition()
-
getPreferredSize
public java.awt.Dimension getPreferredSize()
- Overrides:
getPreferredSize
in classjavax.swing.JComponent
-
-