Class TextPaneSkin

    • Constructor Detail

      • TextPaneSkin

        public TextPaneSkin()
    • Method Detail

      • 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 ContainerSkin
        Parameters:
        component - The component to which the skin is being attached.
      • isFocusable

        public boolean isFocusable()
        Description copied from class: ComponentSkin
        By default, skins are focusable.
        Specified by:
        isFocusable in interface Skin
        Overrides:
        isFocusable in class ContainerSkin
        Returns:
        false; by default, containers are not focusable.
      • 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
        Overrides:
        getPreferredWidth in class ContainerSkin
        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
        Overrides:
        getPreferredHeight in class ContainerSkin
        Parameters:
        width - The width by which to constrain the preferred height, or -1 for no constraint.
        Returns:
        The preferred height given the width constraint.
      • 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.
      • 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
      • paint

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

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

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

        public int getRowAt​(int offset)
        Description copied from interface: TextPane.Skin
        Returns the row index of the character at a given offset within the document.
        Specified by:
        getRowAt in interface TextPane.Skin
        Parameters:
        offset - The character offset to check.
        Returns:
        The row index of the character at the given offset.
      • getRowCount

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

        public Bounds getCharacterBounds​(int offset)
        Description copied from interface: TextPane.Skin
        Returns the bounds of the character at a given offset within the document.
        Specified by:
        getCharacterBounds in interface TextPane.Skin
        Parameters:
        offset - The index of the character we want the bounds for.
        Returns:
        The bounds of the character at the given offset.
      • getDoingCaretCalculations

        public boolean getDoingCaretCalculations()
        Returns:
        Current flag value that indicates we are doing caret location calculations.
      • getAcceptsTab

        public 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 void setAcceptsTab​(boolean acceptsTabValue)
        Sets current value of style that determines the behavior of TAB and Ctrl-TAB characters.
        Parameters:
        acceptsTabValue - 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 int getTabWidth()
        Specified by:
        getTabWidth in interface TextPane.Skin
        Returns:
        The current setting of the "tabWidth" style (so "setText" uses the same value as Ctrl-Tab from user).
      • setTabWidth

        public void setTabWidth​(int tabWidthValue)
      • getFont

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

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

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

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

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

        public void setColor​(java.awt.Color colorValue)
        Sets the foreground color of the text.
        Parameters:
        colorValue - The new 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.
      • getInactiveColor

        public java.awt.Color getInactiveColor()
      • setInactiveColor

        public void setInactiveColor​(java.awt.Color inactiveColorValue)
      • setInactiveColor

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

        public java.awt.Color getSelectionColor()
      • setSelectionColor

        public void setSelectionColor​(java.awt.Color selectionColorValue)
      • setSelectionColor

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

        public java.awt.Color getSelectionBackgroundColor()
      • setSelectionBackgroundColor

        public void setSelectionBackgroundColor​(java.awt.Color selectionBackgroundColorValue)
      • setSelectionBackgroundColor

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

        public java.awt.Color getInactiveSelectionColor()
      • setInactiveSelectionColor

        public void setInactiveSelectionColor​(java.awt.Color inactiveSelectionColorValue)
      • setInactiveSelectionColor

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

        public java.awt.Color getInactiveSelectionBackgroundColor()
      • setInactiveSelectionBackgroundColor

        public void setInactiveSelectionBackgroundColor​(java.awt.Color inactiveSelectionBackgroundColorValue)
      • setInactiveSelectionBackgroundColor

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

        public Insets getMargin()
        Returns:
        The amount of space between the edge of the TextPane and its Document.
      • setMargin

        public void setMargin​(Insets marginValue)
        Sets the amount of space between the edge of the TextPane and its Document.
        Parameters:
        marginValue - The new set of margin values.
      • setMargin

        public final void setMargin​(Dictionary<java.lang.String,​?> marginDictionary)
        Sets the amount of space between the edge of the TextPane and its Document.
        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 TextPane and its Document.
        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 TextPane and its Document.
        Parameters:
        marginValue - The single margin value for all edges.
      • setMargin

        public final void setMargin​(java.lang.Number marginValue)
        Sets the amount of space between the edge of the TextPane and its Document.
        Parameters:
        marginValue - The new single margin value for all the edges.
      • setMargin

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

        public boolean getWrapText()
      • setWrapText

        public void setWrapText​(boolean wrapTextValue)
      • 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.
      • documentChanged

        public void documentChanged​(TextPane textPane,
                                    Document previousDocument)
        Description copied from interface: TextPaneListener
        Called when a text pane's document has changed.
        Specified by:
        documentChanged in interface TextPaneListener
        Parameters:
        textPane - The text pane that changed.
        previousDocument - What the document used to be.
      • editableChanged

        public void editableChanged​(TextPane textPane)
        Description copied from interface: TextPaneListener
        Called when a text pane's editable state has changed.
        Specified by:
        editableChanged in interface TextPaneListener
        Parameters:
        textPane - The source of this event.
      • selectionChanged

        public void selectionChanged​(TextPane textPane,
                                     int previousSelectionStart,
                                     int previousSelectionLength)
        Description copied from interface: TextPaneSelectionListener
        Called when a text pane's selection state has changed.
        Specified by:
        selectionChanged in interface TextPaneSelectionListener
        Parameters:
        textPane - The source of this event.
        previousSelectionStart - The offset where the selection used to start.
        previousSelectionLength - What the selection length was previously.
      • getTextInputMethodListener

        public TextInputMethodListener getTextInputMethodListener()
        Description copied from class: ComponentSkin
        Returns the input method listener for this component.

        Should be overridden by any component's skin that wants to handle Input Method events (such as TextInput).

        Overrides:
        getTextInputMethodListener in class ComponentSkin
        Returns:
        The input method listener (if any) for this component.