org.eclipse.swt.widgets

## Class Link

- java.lang.Object
- - org.eclipse.swt.widgets.Widget
  - - org.eclipse.swt.widgets.Control
    - - org.eclipse.swt.widgets.Link

All Implemented Interfaces:
  Drawable

    public class Link
    extends Control

Instances of this class represent a selectable user interface object that displays a text with links.

Styles:
  (none)
Events:
  Selection

IMPORTANT: This class is not intended to be subclassed.

Since:
  3.1
See Also:
  Link snippets, SWT Example: ControlExample, Sample code and further information
Restriction:
  This class is not intended to be subclassed by clients.

### Field Summary

### Fields inherited from class org.eclipse.swt.widgets.Control

`handle`

### Constructor Summary

Constructors
Constructor and Description
`Link(Composite parent, int style)` Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addSelectionListener(SelectionListener listener)` Adds the listener to the collection of listeners who will be notified when the control is selected by the user, by sending it one of the messages defined in the `SelectionListener` interface.
`Color` `getLinkForeground()` Returns the link foreground color.
`String` `getText()` Returns the receiver's text, which will be an empty string if it has never been set.
`void` `removeSelectionListener(SelectionListener listener)` Removes the listener from the collection of listeners who will be notified when the control is selected by the user.
`void` `setLinkForeground(Color color)` Sets the link foreground color to the color specified by the argument, or to the default system color for the link if the argument is null.
`void` `setText(String string)` Sets the receiver's text.

### Methods inherited from class org.eclipse.swt.widgets.Control

`addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFocus, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update`

### Methods inherited from class org.eclipse.swt.widgets.Widget

`addDisposeListener, addListener, checkSubclass, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.swt.graphics.Drawable

`isAutoScalable`

### Constructor Detail

#### Link

    public Link(Composite parent,
                int style)

Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

The style value is either one of the style constants defined in class `SWT` which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the `int` "|" operator) two or more of those `SWT` style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

Parameters:
  `parent` - a composite control which will be the parent of the new instance (cannot be null)
  `style` - the style of control to construct
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the parent is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  - ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
See Also:
  `Widget.checkSubclass()`, `Widget.getStyle()`

### Method Detail

#### addSelectionListener

    public void addSelectionListener(SelectionListener listener)

Adds the listener to the collection of listeners who will be notified when the control is selected by the user, by sending it one of the messages defined in the `SelectionListener` interface.

`widgetSelected` is called when the control is selected by the user. `widgetDefaultSelected` is not called.

Parameters:
  `listener` - the listener which should be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also:
  `SelectionListener`, `removeSelectionListener(org.eclipse.swt.events.SelectionListener)`, `SelectionEvent`

#### getLinkForeground

    public Color getLinkForeground()

Returns the link foreground color.

Returns:
  the receiver's link foreground color.
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
Since:
  3.105

#### getText

    public String getText()

Returns the receiver's text, which will be an empty string if it has never been set.

Returns:
  the receiver's text
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

#### removeSelectionListener

    public void removeSelectionListener(SelectionListener listener)

Removes the listener from the collection of listeners who will be notified when the control is selected by the user.

Parameters:
  `listener` - the listener which should no longer be notified
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the listener is null
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
See Also:
  `SelectionListener`, `addSelectionListener(org.eclipse.swt.events.SelectionListener)`

#### setLinkForeground

    public void setLinkForeground(Color color)

Sets the link foreground color to the color specified by the argument, or to the default system color for the link if the argument is null.

Note: This operation is a hint and may be overridden by the platform.

Parameters:
  `color` - the new color (or null)
Throws:
  `IllegalArgumentException` -
  - ERROR_INVALID_ARGUMENT - if the argument has been disposed
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
Since:
  3.105

#### setText

    public void setText(String string)

Sets the receiver's text.

The string can contain both regular text and hyperlinks. A hyperlink is delimited by an anchor tag, <a> and </a>. Within an anchor, a single HREF attribute is supported. When a hyperlink is selected, the text field of the selection event contains either the text of the hyperlink or the value of its HREF, if one was specified. In the rare case of identical hyperlinks within the same string, the HREF attribute can be used to distinguish between them. The string may include the mnemonic character and line delimiters. The only delimiter the HREF attribute supports is the quotation mark (").

Mnemonics are indicated by an '&' that causes the next character to be the mnemonic. The receiver can have a mnemonic in the text preceding each link. When the user presses a key sequence that matches the mnemonic, focus is assigned to the link that follows the text. Mnemonics in links and in the trailing text are ignored. On most platforms, the mnemonic appears underlined but may be emphasised in a platform specific manner. The mnemonic indicator character '&' can be escaped by doubling it in the string, causing a single '&' to be displayed.

Parameters:
  `string` - the new text
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the text is null
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver