Class JXHyperlink
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.AbstractButton
-
- javax.swing.JButton
-
- org.jdesktop.swingx.JXHyperlink
-
- All Implemented Interfaces:
- java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.SwingConstants
- Direct Known Subclasses:
- JXRendererHyperlink
@JavaBean public class JXHyperlink extends javax.swing.JButtonA hyperlink component that derives from JButton to provide compatibility mostly for binding actions enabled/disabled behavior accessibility i18n etc...This button has visual state related to a notion of "clicked": foreground color is unclickedColor or clickedColor depending on its boolean bound property clicked being false or true, respectively. If the hyperlink has an action, it guarantees to synchronize its "clicked" state to an action value with key LinkAction.VISITED_KEY. Synchronization happens on setAction() and on propertyChange notification from the action. JXHyperlink accepts any type of action -
AbstractHyperlinkActionis a convenience implementation to simplify clicked control.
The hyperlink can be configured to always update its clicked property after firing the actionPerformed:LinkAction linkAction = new LinkAction("http://swinglabs.org") { public void actionPerformed(ActionEvent e) { doSomething(getTarget()); setVisited(true); } }; JXHyperlink hyperlink = new JXHyperlink(linkAction);
By default, this property is false. The hyperlink will auto-click only if it has no action. Developers can change the behaviour by overridingJXHyperlink hyperlink = new JXHyperlink(action); hyperlink.setOverrulesActionOnClick(true);isAutoSetClicked();- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Field Summary
Fields Modifier and Type Field and Description static java.lang.StringuiClassID-
Fields inherited from class javax.swing.AbstractButton
BORDER_PAINTED_CHANGED_PROPERTY, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
-
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
-
-
Constructor Summary
Constructors Constructor and Description JXHyperlink()Creates a new instance of JXHyperlink with default parametersJXHyperlink(javax.swing.Action action)Creates a new instance of JHyperLink and configures it from provided Action.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description java.awt.ColorgetClickedColor()Returns the foreground color for visited links.booleangetOverrulesActionOnClick()Returns a boolean indicating whether the clicked property should be set always on clicked.java.lang.StringgetUIClassID()Returns a string that specifies the name of the L&F class that renders this component.java.awt.ColorgetUnclickedColor()Returns the foreground color for unvisited links.booleanisClicked()Returns a boolean indicating if this link has already been visited.voidsetClicked(boolean clicked)Sets the clicked property and updates visual state depending on clicked.voidsetClickedColor(java.awt.Color color)Sets the color for the previously visited link.voidsetOverrulesActionOnClick(boolean overrule)Sets the overrulesActionOnClick property.voidsetUnclickedColor(java.awt.Color color)Sets the color for the previously not visited link.voidsetURI(java.net.URI uri)Convenience method to create and install a HyperlinkAction for the given URI.voidupdateUI()Notification from theUIManagerthat the L&F has changed.-
Methods inherited from class javax.swing.JButton
getAccessibleContext, isDefaultButton, isDefaultCapable, removeNotify, setDefaultCapable
-
Methods inherited from class javax.swing.AbstractButton
addActionListener, addChangeListener, addItemListener, doClick, doClick, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHideActionText, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, isSelected, removeActionListener, removeChangeListener, removeItemListener, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setEnabled, setFocusPainted, setHideActionText, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setModel, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validate
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, 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, 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
-
-
-
-
Field Detail
-
uiClassID
public static final java.lang.String uiClassID
- See Also:
getUIClassID(),JComponent.readObject(java.io.ObjectInputStream), Constant Field Values
-
-
Constructor Detail
-
JXHyperlink
public JXHyperlink()
Creates a new instance of JXHyperlink with default parameters
-
JXHyperlink
public JXHyperlink(javax.swing.Action action)
Creates a new instance of JHyperLink and configures it from provided Action.- Parameters:
action- Action whose parameters will be borrowed to configure newly created JXHyperLink
-
-
Method Detail
-
setURI
public void setURI(java.net.URI uri)
Convenience method to create and install a HyperlinkAction for the given URI.- Parameters:
uri- to uri to create a HyperlinkAction for, maybe null.- Throws:
java.awt.HeadlessException- ifGraphicsEnvironment.isHeadless()returnstruejava.lang.UnsupportedOperationException- if the current platform doesn't support Desktop- See Also:
HyperlinkAction.createHyperlinkAction(URI)
-
getUnclickedColor
public java.awt.Color getUnclickedColor()
Returns the foreground color for unvisited links.- Returns:
- Color for the hyper link if it has not yet been clicked.
-
setClickedColor
public void setClickedColor(java.awt.Color color)
Sets the color for the previously visited link. This value will override the one set by the "JXHyperlink.clickedColor" UIManager property and defaults.- Parameters:
color- Color for the hyper link if it has already been clicked.
-
getClickedColor
public java.awt.Color getClickedColor()
Returns the foreground color for visited links.- Returns:
- Color for the hyper link if it has already been clicked.
-
setUnclickedColor
public void setUnclickedColor(java.awt.Color color)
Sets the color for the previously not visited link. This value will override the one set by the "JXHyperlink.unclickedColor" UIManager property and defaults.- Parameters:
color- Color for the hyper link if it has not yet been clicked.
-
setClicked
public void setClicked(boolean clicked)
Sets the clicked property and updates visual state depending on clicked. This implementation updated the foreground color.NOTE: as with all button's visual properties, this will not update the backing action's "visited" state.
- Parameters:
clicked- flag to indicate if the button should be regarded as having been clicked or not.- See Also:
isClicked()
-
isClicked
public boolean isClicked()
Returns a boolean indicating if this link has already been visited.- Returns:
trueif hyper link has already been clicked.- See Also:
setClicked(boolean)
-
setOverrulesActionOnClick
public void setOverrulesActionOnClick(boolean overrule)
Sets the overrulesActionOnClick property. It controls whether this button should overrule the Action's visited property on actionPerformed.The default value is
false.- Parameters:
overrule- if true, fireActionPerformed will set clicked to true independent of action.- See Also:
getOverrulesActionOnClick(),setClicked(boolean)
-
getOverrulesActionOnClick
public boolean getOverrulesActionOnClick()
Returns a boolean indicating whether the clicked property should be set always on clicked.- Returns:
- overrulesActionOnClick false if his button clicked property respects the Action's visited property. True if the clicked should be updated on every actionPerformed.
- See Also:
setOverrulesActionOnClick(boolean),setClicked(boolean)
-
getUIClassID
public java.lang.String getUIClassID()
Returns a string that specifies the name of the L&F class that renders this component.- Overrides:
getUIClassIDin classjavax.swing.JButton
-
updateUI
public void updateUI()
Notification from theUIManagerthat the L&F has changed. Replaces the current UI object with the latest version from theUIManager.- Overrides:
updateUIin classjavax.swing.JButton- See Also:
JComponent.updateUI()
-
-
DataMelt 3.0 © DataMelt by jWork.ORG