Class 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:
  • Field Details

    • text

      String text
    • layout

      TextLayout layout
    • linkColor

      Color linkColor
    • disabledColor

      Color disabledColor
    • offsets

      Point[] offsets
    • selection

      Point selection
    • ids

      String[] ids
    • mnemonics

      int[] mnemonics
    • focusIndex

      int focusIndex
      Index of the currently focused link in the text. Equals -1, if the text has not been set through setText
  • Constructor Details

    • 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:
  • Method Details

    • 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:
    • computeSizeInPixels

      Point computeSizeInPixels(int wHint, int hHint, boolean changed)
      Overrides:
      computeSizeInPixels in class Control
    • createHandle

      void createHandle(int index)
      Overrides:
      createHandle in class Widget
    • createWidget

      void createWidget(int index)
      Overrides:
      createWidget in class Control
    • drawWidget

      void drawWidget(GC gc)
      Overrides:
      drawWidget in class Control
    • enableWidget

      void enableWidget(boolean enabled)
      Overrides:
      enableWidget in class Control
    • fixStyle

      void fixStyle()
      Overrides:
      fixStyle in class Control
    • initAccessible

      void initAccessible()
    • 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
    • getNameText

      String getNameText()
      Overrides:
      getNameText in class Widget
    • getRectanglesInPixels

      Rectangle[] getRectanglesInPixels(int linkIndex)
    • 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
    • gtk_button_press_event

      long gtk_button_press_event(long widget, long event)
      Overrides:
      gtk_button_press_event in class Control
    • gtk_button_release_event

      long gtk_button_release_event(long widget, long event)
      Overrides:
      gtk_button_release_event in class Control
    • gtk_draw

      long gtk_draw(long widget, long cairo)
      Overrides:
      gtk_draw in class Control
    • gtk3_event_after

      long gtk3_event_after(long widget, long gdkEvent)
      Overrides:
      gtk3_event_after in class Control
    • gtk4_key_press_event

      boolean gtk4_key_press_event(long controller, int keyval, int keycode, int state, long event)
      Overrides:
      gtk4_key_press_event in class Control
      Parameters:
      controller - the corresponding controller responsible for capturing the event
      keyval - the pressed key
      keycode - raw code of the pressed key
      state - the bitmask, representing the state of the modifier keys and pointer buttons
      event - the GdkEvent captured
      Returns:
      TRUE if the event has been fully/properly handled, otherwise FALSE
    • gtk3_key_press_event

      long gtk3_key_press_event(long widget, long eventPtr)
      Overrides:
      gtk3_key_press_event in class Control
    • gtk_motion_notify_event

      long gtk_motion_notify_event(long widget, long event)
      Overrides:
      gtk_motion_notify_event in class Control
    • hooksPaint

      boolean hooksPaint()
      Overrides:
      hooksPaint in class Control
    • mnemonicHit

      boolean mnemonicHit(char key)
      Overrides:
      mnemonicHit in class Control
    • mnemonicMatch

      boolean mnemonicMatch(char key)
      Overrides:
      mnemonicMatch in class Control
    • releaseWidget

      void releaseWidget()
      Overrides:
      releaseWidget in class Control
    • 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:
    • parse

      String parse(String string)
    • parseMnemonics

      int parseMnemonics(char[] buffer, int start, int end, StringBuilder result)
    • setBounds

      int setBounds(int x, int y, int width, int height, boolean move, boolean resize)
      Overrides:
      setBounds in class Control
    • setFontDescription

      void setFontDescription(long font)
      Overrides:
      setFontDescription in class Control
    • 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
    • setOrientation

      void setOrientation(boolean create)
      Overrides:
      setOrientation in class Control
    • 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 ("). Text containing angle-bracket characters < or > may be escaped using \\, however this operation is a hint and varies from platform to platform.

      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
    • showWidget

      void showWidget()
      Overrides:
      showWidget in class Control
    • styleLinkParts

      void styleLinkParts()
    • traversalCode

      int traversalCode(int key, long event)
      Overrides:
      traversalCode in class Control