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
public class HyperlinkAction extends AbstractHyperlinkAction<URI>
A implementation wrappingDesktop
actions BROWSE and MAIL, that is URI-related.- Author:
- Jeanette Winzenburg
- See Also:
- Serialized Form
-
-
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
Constructors Constructor Description HyperlinkAction()
Instantiates 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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(ActionEvent e)
static HyperlinkAction
createHyperlinkAction(URI uri)
Factory method to create and return a HyperlinkAction for the given uri.static HyperlinkAction
createHyperlinkAction(URI uri, Desktop.Action type)
Creates and returns a HyperlinkAction with the given target and action type.Desktop.Action
getDesktopAction()
protected void
installTarget()
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 Detail
-
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
public HyperlinkAction(Desktop.Action desktopAction)
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
public HyperlinkAction(URI uri, Desktop.Action desktopAction)
- 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 Detail
-
createHyperlinkAction
public static HyperlinkAction createHyperlinkAction(URI uri)
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
public static HyperlinkAction createHyperlinkAction(URI uri, Desktop.Action type)
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
public void actionPerformed(ActionEvent e)
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
public Desktop.Action getDesktopAction()
- Returns:
-
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>
-
-