Class AutoCompleteDocument

  • All Implemented Interfaces:
    javax.swing.text.Document, javax.swing.text.StyledDocument

    public class AutoCompleteDocument
    extends java.lang.Object
    implements javax.swing.text.StyledDocument
    A document that can be plugged into any JTextComponent to enable automatic completion. It finds and selects matching items using any implementation of the AbstractAutoCompleteAdaptor.
    • Constructor Detail

      • AutoCompleteDocument

        public AutoCompleteDocument​(AbstractAutoCompleteAdaptor adaptor,
                                    boolean strictMatching,
                                    ObjectToStringConverter stringConverter,
                                    javax.swing.text.Document delegate)
        Creates a new AutoCompleteDocument for the given AbstractAutoCompleteAdaptor.
        Parameters:
        adaptor - The adaptor that will be used to find and select matching items.
        strictMatching - true, if only items from the adaptor's list should be allowed to be entered
        stringConverter - the converter used to transform items to strings
        delegate - the Document delegate backing this document
      • AutoCompleteDocument

        public AutoCompleteDocument​(AbstractAutoCompleteAdaptor adaptor,
                                    boolean strictMatching,
                                    ObjectToStringConverter stringConverter)
        Creates a new AutoCompleteDocument for the given AbstractAutoCompleteAdaptor.
        Parameters:
        adaptor - The adaptor that will be used to find and select matching items.
        strictMatching - true, if only items from the adaptor's list should be allowed to be entered
        stringConverter - the converter used to transform items to strings
      • AutoCompleteDocument

        public AutoCompleteDocument​(AbstractAutoCompleteAdaptor adaptor,
                                    boolean strictMatching)
        Creates a new AutoCompleteDocument for the given AbstractAutoCompleteAdaptor.
        Parameters:
        strictMatching - true, if only items from the adaptor's list should be allowed to be entered
        adaptor - The adaptor that will be used to find and select matching items.
    • Method Detail

      • isStrictMatching

        public boolean isStrictMatching()
        Returns if only items from the adaptor's list should be allowed to be entered.
        Returns:
        if only items from the adaptor's list should be allowed to be entered
      • remove

        public void remove​(int offs,
                           int len)
                    throws javax.swing.text.BadLocationException
        Specified by:
        remove in interface javax.swing.text.Document
        Throws:
        javax.swing.text.BadLocationException
      • insertString

        public void insertString​(int offs,
                                 java.lang.String str,
                                 javax.swing.text.AttributeSet a)
                          throws javax.swing.text.BadLocationException
        Specified by:
        insertString in interface javax.swing.text.Document
        Throws:
        javax.swing.text.BadLocationException
      • addStyle

        public javax.swing.text.Style addStyle​(java.lang.String nm,
                                               javax.swing.text.Style parent)
        Specified by:
        addStyle in interface javax.swing.text.StyledDocument
      • getBackground

        public java.awt.Color getBackground​(javax.swing.text.AttributeSet attr)
        Specified by:
        getBackground in interface javax.swing.text.StyledDocument
      • getCharacterElement

        public javax.swing.text.Element getCharacterElement​(int pos)
        Specified by:
        getCharacterElement in interface javax.swing.text.StyledDocument
      • getFont

        public java.awt.Font getFont​(javax.swing.text.AttributeSet attr)
        Specified by:
        getFont in interface javax.swing.text.StyledDocument
      • getForeground

        public java.awt.Color getForeground​(javax.swing.text.AttributeSet attr)
        Specified by:
        getForeground in interface javax.swing.text.StyledDocument
      • getLogicalStyle

        public javax.swing.text.Style getLogicalStyle​(int p)
        Specified by:
        getLogicalStyle in interface javax.swing.text.StyledDocument
      • getParagraphElement

        public javax.swing.text.Element getParagraphElement​(int pos)
        Specified by:
        getParagraphElement in interface javax.swing.text.StyledDocument
      • getStyle

        public javax.swing.text.Style getStyle​(java.lang.String nm)
        Specified by:
        getStyle in interface javax.swing.text.StyledDocument
      • removeStyle

        public void removeStyle​(java.lang.String nm)
        Specified by:
        removeStyle in interface javax.swing.text.StyledDocument
      • setCharacterAttributes

        public void setCharacterAttributes​(int offset,
                                           int length,
                                           javax.swing.text.AttributeSet s,
                                           boolean replace)
        Specified by:
        setCharacterAttributes in interface javax.swing.text.StyledDocument
      • setLogicalStyle

        public void setLogicalStyle​(int pos,
                                    javax.swing.text.Style s)
        Specified by:
        setLogicalStyle in interface javax.swing.text.StyledDocument
      • setParagraphAttributes

        public void setParagraphAttributes​(int offset,
                                           int length,
                                           javax.swing.text.AttributeSet s,
                                           boolean replace)
        Specified by:
        setParagraphAttributes in interface javax.swing.text.StyledDocument
      • addDocumentListener

        public void addDocumentListener​(javax.swing.event.DocumentListener listener)
        Specified by:
        addDocumentListener in interface javax.swing.text.Document
      • addUndoableEditListener

        public void addUndoableEditListener​(javax.swing.event.UndoableEditListener listener)
        Specified by:
        addUndoableEditListener in interface javax.swing.text.Document
      • createPosition

        public javax.swing.text.Position createPosition​(int offs)
                                                 throws javax.swing.text.BadLocationException
        Specified by:
        createPosition in interface javax.swing.text.Document
        Throws:
        javax.swing.text.BadLocationException
      • getDefaultRootElement

        public javax.swing.text.Element getDefaultRootElement()
        Specified by:
        getDefaultRootElement in interface javax.swing.text.Document
      • getEndPosition

        public javax.swing.text.Position getEndPosition()
        Specified by:
        getEndPosition in interface javax.swing.text.Document
      • getLength

        public int getLength()
        Specified by:
        getLength in interface javax.swing.text.Document
      • getProperty

        public java.lang.Object getProperty​(java.lang.Object key)
        Specified by:
        getProperty in interface javax.swing.text.Document
      • getRootElements

        public javax.swing.text.Element[] getRootElements()
        Specified by:
        getRootElements in interface javax.swing.text.Document
      • getStartPosition

        public javax.swing.text.Position getStartPosition()
        Specified by:
        getStartPosition in interface javax.swing.text.Document
      • getText

        public java.lang.String getText​(int offset,
                                        int length)
                                 throws javax.swing.text.BadLocationException
        Specified by:
        getText in interface javax.swing.text.Document
        Throws:
        javax.swing.text.BadLocationException
      • getText

        public void getText​(int offset,
                            int length,
                            javax.swing.text.Segment txt)
                     throws javax.swing.text.BadLocationException
        Specified by:
        getText in interface javax.swing.text.Document
        Throws:
        javax.swing.text.BadLocationException
      • putProperty

        public void putProperty​(java.lang.Object key,
                                java.lang.Object value)
        Specified by:
        putProperty in interface javax.swing.text.Document
      • removeDocumentListener

        public void removeDocumentListener​(javax.swing.event.DocumentListener listener)
        Specified by:
        removeDocumentListener in interface javax.swing.text.Document
      • removeUndoableEditListener

        public void removeUndoableEditListener​(javax.swing.event.UndoableEditListener listener)
        Specified by:
        removeUndoableEditListener in interface javax.swing.text.Document
      • render

        public void render​(java.lang.Runnable r)
        Specified by:
        render in interface javax.swing.text.Document