Package org.jdesktop.swingx.hyperlink
Class HyperlinkAction
java.lang.Object
javax.swing.AbstractAction
org.jdesktop.swingx.action.AbstractActionExt
org.jdesktop.swingx.hyperlink.AbstractHyperlinkAction<URI>
org.jdesktop.swingx.hyperlink.HyperlinkAction
- All Implemented Interfaces:
ActionListener
,ItemListener
,Serializable
,Cloneable
,EventListener
,Action
A implementation wrapping
Desktop
actions BROWSE and MAIL, that is URI-related.- Author:
- Jeanette Winzenburg
- See Also:
-
Field Summary
Fields inherited from class org.jdesktop.swingx.hyperlink.AbstractHyperlinkAction
target, VISITED_KEY
Fields inherited from class org.jdesktop.swingx.action.AbstractActionExt
GROUP, IS_STATE, LARGE_ICON
Fields inherited from class javax.swing.AbstractAction
changeSupport, enabled
Fields inherited from interface javax.swing.Action
ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, DISPLAYED_MNEMONIC_INDEX_KEY, LARGE_ICON_KEY, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SELECTED_KEY, SHORT_DESCRIPTION, SMALL_ICON
-
Constructor Summary
ConstructorsConstructorDescriptionInstantiates a HyperlinkAction with action type BROWSE.HyperlinkAction
(Desktop.Action desktopAction) Instantiates a HyperlinkAction with the given action type.HyperlinkAction
(URI uri, Desktop.Action desktopAction) -
Method Summary
Modifier and TypeMethodDescriptionvoid
static HyperlinkAction
createHyperlinkAction
(URI uri) Factory method to create and return a HyperlinkAction for the given uri.static HyperlinkAction
createHyperlinkAction
(URI uri, Desktop.Action desktopAction) Creates and returns a HyperlinkAction with the given target and action type.protected void
hook for subclasses to update internal state after a new target has been set.Methods inherited from class org.jdesktop.swingx.hyperlink.AbstractHyperlinkAction
getTarget, isVisited, itemStateChanged, setStateAction, setTarget, setVisited, uninstallTarget
Methods inherited from class org.jdesktop.swingx.action.AbstractActionExt
dispose, getAccelerator, getActionCommand, getGroup, getLargeIcon, getLongDescription, getMnemonic, getName, getShortDescription, getSmallIcon, isSelected, isStateAction, setAccelerator, setActionCommand, setGroup, setLargeIcon, setLongDescription, setMnemonic, setMnemonic, setName, setSelected, setShortDescription, setSmallIcon, setStateAction, toString
Methods inherited from class javax.swing.AbstractAction
addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled
-
Constructor Details
-
HyperlinkAction
public HyperlinkAction()Instantiates a HyperlinkAction with action type BROWSE.- Throws:
HeadlessException
- ifGraphicsEnvironment.isHeadless()
returnstrue
UnsupportedOperationException
- if the current platform doesn't support DesktopIllegalArgumentException
- if unsupported action type
-
HyperlinkAction
Instantiates a HyperlinkAction with the given action type.- Parameters:
desktopAction
- the type of desktop action this class should perform, must be BROWSE or MAIL- Throws:
HeadlessException
- ifGraphicsEnvironment.isHeadless()
returnstrue
UnsupportedOperationException
- if the current platform doesn't support DesktopIllegalArgumentException
- if unsupported action type
-
HyperlinkAction
- Parameters:
uri
- the target uri, maybe null.desktopAction
- the type of desktop action this class should perform, must be BROWSE or MAIL- Throws:
HeadlessException
- ifGraphicsEnvironment.isHeadless()
returnstrue
UnsupportedOperationException
- if the current platform doesn't support DesktopIllegalArgumentException
- if unsupported action type
-
-
Method Details
-
createHyperlinkAction
Factory method to create and return a HyperlinkAction for the given uri. Tries to guess the appropriate type from the uri. If uri is not null and has a scheme of mailto, create one of type Mail. In all other cases, creates one for BROWSE.- Parameters:
uri
- to uri to create a HyperlinkAction for, maybe null.- Returns:
- a HyperlinkAction for the given URI.
- Throws:
HeadlessException
- ifGraphicsEnvironment.isHeadless()
returnstrue
UnsupportedOperationException
- if the current platform doesn't support Desktop
-
createHyperlinkAction
Creates and returns a HyperlinkAction with the given target and action type.- Parameters:
uri
- the target uri, maybe null.desktopAction
- the type of desktop action this class should perform, must be BROWSE or MAIL- Returns:
- a HyperlinkAction
- Throws:
HeadlessException
- ifGraphicsEnvironment.isHeadless()
returnstrue
UnsupportedOperationException
- if the current platform doesn't support DesktopIllegalArgumentException
- if unsupported action type
-
actionPerformed
Implemented to perform the appropriate Desktop action if supported on the current target. Sets the visited property to true if the desktop action doesn't throw an exception or to false if it did. Does nothing if the action isn't supported.
-
getDesktopAction
- Returns:
- Action
-
installTarget
protected void installTarget()Description copied from class:AbstractHyperlinkAction
hook for subclasses to update internal state after a new target has been set.Subclasses are free to decide the details. Here:
- the text property is set to target.toString or empty String if the target is null
- visited is set to false.
- Overrides:
installTarget
in classAbstractHyperlinkAction<URI>
-