Class TextAreaSkin

    • Constructor Detail

      • TextAreaSkin

        public TextAreaSkin()
        Default constructor that sets the default colors, fonts, etc.
    • Method Detail

      • getTextArea

        public TextArea getTextArea()
        Returns:
        The TextArea component we are attached to.
      • install

        public void install​(Component component)
        Description copied from class: ComponentSkin
        Must be implemented in every subclass in order to do component-specific operations at instantiation time, but every subclass must call this superclass method to setup the necessary listeners, etc.
        Specified by:
        install in interface Skin
        Overrides:
        install in class ComponentSkin
        Parameters:
        component - The component to which the skin is being attached.
      • getPreferredWidth

        public int getPreferredWidth​(int height)
        Description copied from interface: ConstrainedVisual
        Returns the visual's preferred width given the provided height constraint.
        Specified by:
        getPreferredWidth in interface ConstrainedVisual
        Parameters:
        height - The height by which to constrain the preferred width, or -1 for no constraint.
        Returns:
        The preferred width given the height constraint.
      • getPreferredHeight

        public int getPreferredHeight​(int width)
        Description copied from interface: ConstrainedVisual
        Returns the visual's preferred height given the provided width constraint.
        Specified by:
        getPreferredHeight in interface ConstrainedVisual
        Parameters:
        width - The width by which to constrain the preferred height, or -1 for no constraint.
        Returns:
        The preferred height given the width constraint.
      • layout

        public void layout()
        Description copied from interface: Skin
        If the component on which the skin is installed is a container, lays out the container's children.
        Specified by:
        layout in interface Skin
      • getBaseline

        public int getBaseline​(int width,
                               int height)
        Description copied from class: ComponentSkin
        Should be implemented in every subclass.

        The default implementation here simply returns -1 (no baseline).

        Specified by:
        getBaseline in interface ConstrainedVisual
        Overrides:
        getBaseline in class ComponentSkin
        Parameters:
        width - Constrained width to compute the baseline for.
        height - Constrained height to compute the baseline for.
        Returns:
        The baseline relative to the origin of this visual, or -1 if this visual does not have a baseline.
      • paint

        public void paint​(java.awt.Graphics2D graphics)
        Description copied from interface: Visual
        Paints the visual.
        Specified by:
        paint in interface Visual
        Parameters:
        graphics - The graphics context in which to paint the visual.
      • isOpaque

        public boolean isOpaque()
        Description copied from class: ComponentSkin
        By default, skins are assumed to be opaque.
        Specified by:
        isOpaque in interface Skin
        Overrides:
        isOpaque in class ComponentSkin
        Returns:
        true if this skin is opaque; false if any part of it is transparent or translucent.
      • getInsertionPoint

        public int getInsertionPoint​(int x,
                                     int y)
        Specified by:
        getInsertionPoint in interface TextArea.Skin
        Parameters:
        x - The X-location to check (likely from the mouse location).
        y - The Y-location to check.
        Returns:
        The insertion point for a given location.
      • getNextInsertionPoint

        public int getNextInsertionPoint​(int x,
                                         int from,
                                         TextArea.ScrollDirection direction)
        Specified by:
        getNextInsertionPoint in interface TextArea.Skin
        Parameters:
        x - The current X-location.
        from - The current character index to move from.
        direction - The direction we want to move.
        Returns:
        The next insertion point given an x coordinate and a character index.
      • getRowAt

        public int getRowAt​(int index)
        Specified by:
        getRowAt in interface TextArea.Skin
        Parameters:
        index - The character index to check.
        Returns:
        The row index of the character at a given index.
      • getRowOffset

        public int getRowOffset​(int index)
        Specified by:
        getRowOffset in interface TextArea.Skin
        Parameters:
        index - The character index to check.
        Returns:
        The index of the first character in the row containing a given character index.
      • getRowLength

        public int getRowLength​(int index)
        Specified by:
        getRowLength in interface TextArea.Skin
        Parameters:
        index - The character index to check.
        Returns:
        The number of characters in the row containing a given character index.
      • getRowCount

        public int getRowCount()
        Specified by:
        getRowCount in interface TextArea.Skin
        Returns:
        The total number of rows in the text area.
      • getCharacterBounds

        public Bounds getCharacterBounds​(int index)
        Specified by:
        getCharacterBounds in interface TextArea.Skin
        Parameters:
        index - The index of the character to check.
        Returns:
        The bounds of the character at a given index.
      • getSelection

        public java.awt.geom.Area getSelection()
        Returns:
        The current selection area (can be null if nothing is selected).
      • getFont

        public final java.awt.Font getFont()
        Returns:
        The font of the text.
      • setFont

        public final void setFont​(java.awt.Font newFont)
        Sets the font for the text.
        Parameters:
        newFont - The new font for the text.
      • setFont

        public final void setFont​(java.lang.String fontString)
        Sets the font for the text.
        Parameters:
        fontString - A font specification
      • setFont

        public final void setFont​(Dictionary<java.lang.String,​?> fontDictionary)
        Sets the font for the text.
        Parameters:
        fontDictionary - A dictionary describing a font
      • getColor

        public final java.awt.Color getColor()
        Returns:
        The foreground color of the text.
      • setColor

        public final void setColor​(java.awt.Color colorValue)
        Sets the foreground color of the text.
        Parameters:
        colorValue - The new foreground text color.
      • setColor

        public final void setColor​(java.lang.String colorString)
        Sets the foreground color of the text.
        Parameters:
        colorString - Any of the color values recognized by Pivot.
      • getBackgroundColor

        public final java.awt.Color getBackgroundColor()
      • setBackgroundColor

        public final void setBackgroundColor​(java.awt.Color colorValue)
      • setBackgroundColor

        public final void setBackgroundColor​(java.lang.String colorString)
      • getInactiveColor

        public final java.awt.Color getInactiveColor()
      • setInactiveColor

        public final void setInactiveColor​(java.awt.Color colorValue)
      • setInactiveColor

        public final void setInactiveColor​(java.lang.String colorString)
      • getSelectionColor

        public final java.awt.Color getSelectionColor()
      • setSelectionColor

        public final void setSelectionColor​(java.awt.Color colorValue)
      • setSelectionColor

        public final void setSelectionColor​(java.lang.String colorString)
      • getSelectionBackgroundColor

        public final java.awt.Color getSelectionBackgroundColor()
      • setSelectionBackgroundColor

        public final void setSelectionBackgroundColor​(java.awt.Color colorValue)
      • setSelectionBackgroundColor

        public final void setSelectionBackgroundColor​(java.lang.String colorString)
      • getInactiveSelectionColor

        public final java.awt.Color getInactiveSelectionColor()
      • setInactiveSelectionColor

        public final void setInactiveSelectionColor​(java.awt.Color colorValue)
      • setInactiveSelectionColor

        public final void setInactiveSelectionColor​(java.lang.String colorString)
      • getInactiveSelectionBackgroundColor

        public final java.awt.Color getInactiveSelectionBackgroundColor()
      • setInactiveSelectionBackgroundColor

        public final void setInactiveSelectionBackgroundColor​(java.awt.Color colorValue)
      • setInactiveSelectionBackgroundColor

        public final void setInactiveSelectionBackgroundColor​(java.lang.String colorString)
      • getMargin

        public final Insets getMargin()
        Returns:
        The amount of space between the edge of the TextArea and its text.
      • setMargin

        public final void setMargin​(Insets newMargin)
        Sets the amount of space between the edge of the TextArea and its text.
        Parameters:
        newMargin - The individual margin values for all edges.
      • setMargin

        public final void setMargin​(Dictionary<java.lang.String,​?> marginDictionary)
        Sets the amount of space between the edge of the TextArea and its text.
        Parameters:
        marginDictionary - A dictionary with keys in the set {top, left, bottom, right}.
      • setMargin

        public final void setMargin​(Sequence<?> marginSequence)
        Sets the amount of space between the edge of the TextArea and its text.
        Parameters:
        marginSequence - A sequence with values in the order [top, left, bottom, right].
      • setMargin

        public final void setMargin​(int marginValue)
        Sets the amount of space between the edge of the TextArea and its text.
        Parameters:
        marginValue - The single value to use for all the margins.
      • setMargin

        public final void setMargin​(java.lang.Number marginValue)
        Sets the amount of space between the edge of the TextArea and its text.
        Parameters:
        marginValue - The single value to use for all the margins.
      • setMargin

        public final void setMargin​(java.lang.String marginString)
        Sets the amount of space between the edge of the TextArea and its text.
        Parameters:
        marginString - A string containing an integer or a JSON dictionary or list with keys top, left, bottom, and/or right.
      • getWrapText

        public final boolean getWrapText()
      • setWrapText

        public final void setWrapText​(boolean wrapValue)
      • getAcceptsEnter

        public final boolean getAcceptsEnter()
      • setAcceptsEnter

        public final void setAcceptsEnter​(boolean acceptsValue)
      • getAcceptsTab

        public final boolean getAcceptsTab()
        Gets current value of style that determines the behavior of TAB and Ctrl-TAB characters.
        Returns:
        true if TAB inserts an appropriate number of spaces, while Ctrl-TAB shifts focus to next component. false (default) means TAB shifts focus and Ctrl-TAB inserts spaces.
      • setAcceptsTab

        public final void setAcceptsTab​(boolean acceptsValue)
        Sets current value of style that determines the behavior of TAB and Ctrl-TAB characters.
        Parameters:
        acceptsValue - true if TAB inserts an appropriate number of spaces, while Ctrl-TAB shifts focus to next component. false (default) means TAB shifts focus and Ctrl-TAB inserts spaces.
      • getTabWidth

        public final int getTabWidth()
        Specified by:
        getTabWidth in interface TextArea.Skin
        Returns:
        The current setting of the "tabWidth" style (so "setText" uses the same value as Ctrl-Tab from user).
      • setTabWidth

        public final void setTabWidth​(int tabValue)
      • getLineWidth

        public final int getLineWidth()
      • setLineWidth

        public final void setLineWidth​(int widthValue)
      • mouseMove

        public boolean mouseMove​(Component component,
                                 int x,
                                 int y)
        Description copied from interface: ComponentMouseListener
        Called when the mouse is moved over a component.
        Specified by:
        mouseMove in interface ComponentMouseListener
        Overrides:
        mouseMove in class ComponentSkin
        Parameters:
        component - Component that is under the mouse.
        x - X position of the mouse.
        y - Y position of the mouse.
        Returns:
        true to consume the event; false to allow it to propagate (default return).
      • mouseDown

        public boolean mouseDown​(Component component,
                                 Mouse.Button button,
                                 int x,
                                 int y)
        Description copied from interface: ComponentMouseButtonListener
        Called when a mouse button is pressed over a component.
        Specified by:
        mouseDown in interface ComponentMouseButtonListener
        Overrides:
        mouseDown in class ComponentSkin
        Parameters:
        component - Component that is under the mouse pointer.
        button - Which mouse button was pressed.
        x - X position of the mouse.
        y - Y position of the mouse.
        Returns:
        true to consume the event; false to allow it to propagate (default).
      • mouseUp

        public boolean mouseUp​(Component component,
                               Mouse.Button button,
                               int x,
                               int y)
        Description copied from interface: ComponentMouseButtonListener
        Called when a mouse button is released over a component.
        Specified by:
        mouseUp in interface ComponentMouseButtonListener
        Overrides:
        mouseUp in class ComponentSkin
        Parameters:
        component - Component user the mouse pointer.
        button - Which mouse button that was released.
        x - X position of the mouse.
        y - Y position of the mouse.
        Returns:
        true to consume the event; false to allow it to propagate (default).
      • mouseClick

        public boolean mouseClick​(Component component,
                                  Mouse.Button button,
                                  int x,
                                  int y,
                                  int count)
        Description copied from interface: ComponentMouseButtonListener
        Called when a mouse button is clicked over a component.
        Specified by:
        mouseClick in interface ComponentMouseButtonListener
        Overrides:
        mouseClick in class ComponentSkin
        Parameters:
        component - Component user the mouse pointer.
        button - Which mouse button was clicked.
        x - X position of the mouse.
        y - Y position of the mouse.
        count - Number of clicks (1 = single click, 2 = double click, etc.).
        Returns:
        true to consume the event; false to allow it to propagate (default).
      • keyTyped

        public boolean keyTyped​(Component component,
                                char character)
        Description copied from interface: ComponentKeyListener
        Called when a key has been typed.
        Specified by:
        keyTyped in interface ComponentKeyListener
        Overrides:
        keyTyped in class ComponentSkin
        Parameters:
        component - Component that has the focus, that is receiving this key.
        character - The decoded character that was typed.
        Returns:
        true to consume the event; false to allow it to propagate.
      • keyPressed

        public boolean keyPressed​(Component component,
                                  int keyCode,
                                  Keyboard.KeyLocation keyLocation)
        Description copied from class: ComponentSkin
        Keyboard handling (Tab key or Shift Tab).
        • TAB Transfers focus forwards
        • TAB + SHIFT Transfers focus backwards
        Specified by:
        keyPressed in interface ComponentKeyListener
        Overrides:
        keyPressed in class ComponentSkin
        Parameters:
        component - Component that has the focus.
        keyCode - The key code for the key that was pressed.
        keyLocation - Location value for the key (left or right for shift keys, etc.).
        Returns:
        true to consume the event; false to allow it to propagate.
      • enabledChanged

        public void enabledChanged​(Component component)
        Description copied from interface: ComponentStateListener
        Called when a component's enabled state has changed.

        Called both when the component is enabled and when it is disabled. The component's enabled flag has already been set when this method is called so the new state can be determined by calling the Component.isEnabled() method.

        Specified by:
        enabledChanged in interface ComponentStateListener
        Overrides:
        enabledChanged in class ComponentSkin
        Parameters:
        component - The component whose enabled state is changing.
      • focusedChanged

        public void focusedChanged​(Component component,
                                   Component obverseComponent)
        Description copied from interface: ComponentStateListener
        Called when a component's focused state has changed.

        This will be called both when a component gains focus and when it loses focus. The currently focused component has already been set when this method is called, so that the new state of the component can be determined by calling the Component.isFocused() method.

        Specified by:
        focusedChanged in interface ComponentStateListener
        Overrides:
        focusedChanged in class ComponentSkin
        Parameters:
        component - The component that is either gaining focus or the one that previously had focus and is now losing it.
        obverseComponent - If the component is gaining focus, this is the component that is losing focus. If the component is losing focus this is the component that is gaining the focus instead.
      • maximumLengthChanged

        public void maximumLengthChanged​(TextArea textArea,
                                         int previousMaximumLength)
        Description copied from interface: TextAreaListener
        Called when a text area's maximum length has changed.
        Specified by:
        maximumLengthChanged in interface TextAreaListener
        Parameters:
        textArea - The source of this event.
        previousMaximumLength - What the maximum length used to be.
      • editableChanged

        public void editableChanged​(TextArea textArea)
        Description copied from interface: TextAreaListener
        Called when a text area's editable state has changed.
        Specified by:
        editableChanged in interface TextAreaListener
        Parameters:
        textArea - The source of this event.
      • paragraphInserted

        public void paragraphInserted​(TextArea textArea,
                                      int index)
        Description copied from interface: TextAreaContentListener
        Called when a paragraph has been inserted into a text area's paragraph sequence.
        Specified by:
        paragraphInserted in interface TextAreaContentListener
        Parameters:
        textArea - The source of the event.
        index - The index at which the paragraph was inserted.
      • paragraphsRemoved

        public void paragraphsRemoved​(TextArea textArea,
                                      int index,
                                      Sequence<TextArea.Paragraph> removed)
        Description copied from interface: TextAreaContentListener
        Called when paragraphs have been removed from a text area's paragraph sequence.
        Specified by:
        paragraphsRemoved in interface TextAreaContentListener
        Parameters:
        textArea - The source of the event.
        index - The starting index from which the paragraphs were removed.
        removed - The paragraphs that were removed.
      • selectionChanged

        public void selectionChanged​(TextArea textArea,
                                     int previousSelectionStart,
                                     int previousSelectionLength)
        Description copied from interface: TextAreaSelectionListener
        Called when a text area's selection state has changed.
        Specified by:
        selectionChanged in interface TextAreaSelectionListener
        Parameters:
        textArea - The source of this event.
        previousSelectionStart - Where the selection used to start.
        previousSelectionLength - The previous selection length.