Class FlatCaret

  • All Implemented Interfaces:
    java.awt.event.FocusListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.Shape, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, javax.swing.plaf.UIResource, javax.swing.text.Caret

    public class FlatCaret
    extends javax.swing.text.DefaultCaret
    implements javax.swing.plaf.UIResource
    Caret that can select all text on focus gained. Also fixes Swing's double-click-and-drag behavior so that dragging after a double-click extends selection by whole words.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.awt.geom.Rectangle2D

        java.awt.geom.Rectangle2D.Double, java.awt.geom.Rectangle2D.Float
    • Constructor Summary

      Constructors 
      Constructor Description
      FlatCaret​(java.lang.String selectAllOnFocusPolicy, boolean selectAllOnMouseClick)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void adjustVisibility​(java.awt.Rectangle nloc)  
      void deinstall​(javax.swing.text.JTextComponent c)  
      void focusGained​(java.awt.event.FocusEvent e)  
      void focusLost​(java.awt.event.FocusEvent e)  
      void install​(javax.swing.text.JTextComponent c)  
      void mouseDragged​(java.awt.event.MouseEvent e)  
      void mousePressed​(java.awt.event.MouseEvent e)  
      void mouseReleased​(java.awt.event.MouseEvent e)  
      void scrollCaretToVisible()  
      private void select​(int mark, int dot)  
      protected void selectAllOnFocusGained()  
      • Methods inherited from class javax.swing.text.DefaultCaret

        addChangeListener, damage, equals, fireStateChanged, getBlinkRate, getChangeListeners, getComponent, getDot, getDotBias, getListeners, getMagicCaretPosition, getMark, getMarkBias, getSelectionPainter, getUpdatePolicy, isActive, isSelectionVisible, isVisible, mouseClicked, mouseEntered, mouseExited, mouseMoved, moveCaret, moveDot, moveDot, paint, positionCaret, removeChangeListener, repaint, setBlinkRate, setDot, setDot, setMagicCaretPosition, setSelectionVisible, setUpdatePolicy, setVisible, toString
      • Methods inherited from class java.awt.Rectangle

        add, add, add, contains, contains, contains, contains, createIntersection, createUnion, getBounds, getBounds2D, getHeight, getLocation, getSize, getWidth, getX, getY, grow, inside, intersection, intersects, isEmpty, move, outcode, reshape, resize, setBounds, setBounds, setLocation, setLocation, setRect, setSize, setSize, translate, union
      • Methods inherited from class java.awt.geom.Rectangle2D

        add, add, add, contains, contains, getPathIterator, getPathIterator, hashCode, intersect, intersects, intersectsLine, intersectsLine, outcode, setFrame, setRect, union
      • Methods inherited from class java.awt.geom.RectangularShape

        clone, contains, contains, getCenterX, getCenterY, getFrame, getMaxX, getMaxY, getMinX, getMinY, intersects, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.awt.Shape

        contains, contains, contains, contains, getPathIterator, getPathIterator, intersects, intersects
    • Field Detail

      • selectAllOnFocusPolicy

        private final java.lang.String selectAllOnFocusPolicy
      • selectAllOnMouseClick

        private final boolean selectAllOnMouseClick
      • inInstall

        private boolean inInstall
      • wasFocused

        private boolean wasFocused
      • wasTemporaryLost

        private boolean wasTemporaryLost
      • isMousePressed

        private boolean isMousePressed
      • isWordSelection

        private boolean isWordSelection
      • isLineSelection

        private boolean isLineSelection
      • dragSelectionStart

        private int dragSelectionStart
      • dragSelectionEnd

        private int dragSelectionEnd
    • Constructor Detail

      • FlatCaret

        public FlatCaret​(java.lang.String selectAllOnFocusPolicy,
                         boolean selectAllOnMouseClick)
    • Method Detail

      • install

        public void install​(javax.swing.text.JTextComponent c)
        Specified by:
        install in interface javax.swing.text.Caret
        Overrides:
        install in class javax.swing.text.DefaultCaret
      • deinstall

        public void deinstall​(javax.swing.text.JTextComponent c)
        Specified by:
        deinstall in interface javax.swing.text.Caret
        Overrides:
        deinstall in class javax.swing.text.DefaultCaret
      • adjustVisibility

        protected void adjustVisibility​(java.awt.Rectangle nloc)
        Overrides:
        adjustVisibility in class javax.swing.text.DefaultCaret
      • focusGained

        public void focusGained​(java.awt.event.FocusEvent e)
        Specified by:
        focusGained in interface java.awt.event.FocusListener
        Overrides:
        focusGained in class javax.swing.text.DefaultCaret
      • focusLost

        public void focusLost​(java.awt.event.FocusEvent e)
        Specified by:
        focusLost in interface java.awt.event.FocusListener
        Overrides:
        focusLost in class javax.swing.text.DefaultCaret
      • mousePressed

        public void mousePressed​(java.awt.event.MouseEvent e)
        Specified by:
        mousePressed in interface java.awt.event.MouseListener
        Overrides:
        mousePressed in class javax.swing.text.DefaultCaret
      • mouseReleased

        public void mouseReleased​(java.awt.event.MouseEvent e)
        Specified by:
        mouseReleased in interface java.awt.event.MouseListener
        Overrides:
        mouseReleased in class javax.swing.text.DefaultCaret
      • mouseDragged

        public void mouseDragged​(java.awt.event.MouseEvent e)
        Specified by:
        mouseDragged in interface java.awt.event.MouseMotionListener
        Overrides:
        mouseDragged in class javax.swing.text.DefaultCaret
      • selectAllOnFocusGained

        protected void selectAllOnFocusGained()
      • select

        private void select​(int mark,
                            int dot)
      • scrollCaretToVisible

        public void scrollCaretToVisible()
        Since:
        1.4