Package org.fife.ui.rtextarea

## Class RTextAreaEditorKit.DumbCompleteWordAction

- java.lang.Object
- - javax.swing.AbstractAction
  - - javax.swing.text.TextAction
    - - org.fife.ui.rtextarea.RecordableTextAction
      - - org.fife.ui.rtextarea.RTextAreaEditorKit.DumbCompleteWordAction

- All Implemented Interfaces:
    `ActionListener`, `Serializable`, `Cloneable`, `EventListener`, `Action`
  Direct Known Subclasses:
    `RSyntaxTextAreaEditorKit.DumbCompleteWordAction`
  Enclosing class:
    RTextAreaEditorKit

      public static class RTextAreaEditorKit.DumbCompleteWordAction
      extends RecordableTextAction

  Finds the most recent word in the document that matches the "word" up to the current caret position, and auto-completes the rest. Repeatedly calling this action at the same location in the document goes one match back each time it is called.
  See Also:
    Serialized Form

- - ### Field Summary

    - ### 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
    --- | ---
    `DumbCompleteWordAction()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `actionPerformedImpl​(ActionEvent e, RTextArea textArea)` | The actual meat of the action.
    `String` | `getMacroID()` | Returns the identifier for this macro.
    `protected int` | `getPreviousWord​(RTextArea textArea, int offs)` |
    `protected int` | `getWordEnd​(RTextArea textArea, int offs)` |
    `protected int` | `getWordStart​(RTextArea textArea, int offs)` |
    `protected boolean` | `isAcceptablePrefix​(String prefix)` | `Utilities.getWordStart()` treats spans of whitespace and single non-letter chars as "words." This method is used to filter that kind of thing out - non-words should not be suggested by this action.

    - ### Methods inherited from class org.fife.ui.rtextarea.RecordableTextAction

      `actionPerformed, getAccelerator, getDescription, getIcon, getMnemonic, getName, isRecordable, setAccelerator, setMnemonic, setMnemonic, setName, setProperties, setRecordable, setShortDescription`

    - ### Methods inherited from class javax.swing.text.TextAction

      `augmentList, getFocusedComponent, getTextComponent`

    - ### Methods inherited from class javax.swing.AbstractAction

      `addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled`

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

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

    - ### Methods inherited from interface javax.swing.Action

      `accept`

- - ### Constructor Detail

    - #### DumbCompleteWordAction

          public DumbCompleteWordAction()

  - ### Method Detail

    - #### actionPerformedImpl

          public void actionPerformedImpl​(ActionEvent e,
                                          RTextArea textArea)

      Description copied from class: `RecordableTextAction`
      The actual meat of the action. If you wish to subclass this action and modify its behavior, this is the method to override.
      Specified by:
        `actionPerformedImpl` in class `RecordableTextAction`
      Parameters:
        `e` - The action being performed.
        `textArea` - The text area "receiving" the action.
      See Also:
        `RecordableTextAction.actionPerformed(java.awt.event.ActionEvent)`

    - #### getMacroID

          public final String getMacroID()

      Description copied from class: `RecordableTextAction`
      Returns the identifier for this macro. This method makes it so that you can create an instance of the `RTextAreaEditorKit.CutAction` action, for example, rename it to "Remove", and it will still be recorded as a "cut" action. Subclasses should return a unique string from this method; preferably the name of the action.

      If you subclass a `RecordableTextAction`, you should NOT override this method; if you do, the action may not be properly recorded in a macro.

      Specified by:
        `getMacroID` in class `RecordableTextAction`
      Returns:
        The internally-used macro ID.

    - #### getPreviousWord

          protected int getPreviousWord​(RTextArea textArea,
                                        int offs)
                                 throws BadLocationException

      Throws:
        `BadLocationException`

    - #### getWordEnd

          protected int getWordEnd​(RTextArea textArea,
                                   int offs)
                            throws BadLocationException

      Throws:
        `BadLocationException`

    - #### getWordStart

          protected int getWordStart​(RTextArea textArea,
                                     int offs)
                              throws BadLocationException

      Throws:
        `BadLocationException`

    - #### isAcceptablePrefix

          protected boolean isAcceptablePrefix​(String prefix)

      `Utilities.getWordStart()` treats spans of whitespace and single non-letter chars as "words." This method is used to filter that kind of thing out - non-words should not be suggested by this action.
      Parameters:
        `prefix` - The prefix characters before the caret.
      Returns:
        Whether the prefix could be part of a "word" in the context of the text area's current content.