Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

Class java.awt.swing.text.DefaultCaret

java.lang.Object
    |
    +----java.awt.swing.text.DefaultCaret

public class DefaultCaret
extends Object
implements Caret, Serializable, FocusListener, MouseListener, MouseMotionListener
An implementation of Caret for a view that maps over the entire portion of the model represented (ie there are no holes in the area represented) and renders the insert position as a vertical line. The foreground color of the component is the color of the caret and the background color of the component is the color of the selections made by moving the caret. The Highlighter implementation of the associated UI is used to actually render the selection.

Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.

See Also:
Caret

Field Summary
ChangeEvent  changeEvent
The change event for the model.
EventListenerList  listenerList
The event listener list.
 

Constructor Summary
 DefaultCaret()
Constructs a default caret.
 

Method Summary
void  addChangeListener(ChangeListener l)
Adds a listener to track whenever the caret position has been changed.
void  adjustVisibility(Rectangle nloc)
Scrolls the associated view (if necessary) to make the caret visible.
void  damage(Rectangle r)
Damages the area surrounding the caret to cause it to be repainted.
void  deinstall(JTextComponent c)
Called when the UI is being removed from the interface of a JTextComponent.
void  fireStateChanged()
Notifies all listeners that have registered interest for notification on this event type.
void  focusGained(FocusEvent e)
Called when the component containing the caret gains focus.
void  focusLost(FocusEvent e)
Called when the component containing the caret loses focus.
int  getBlinkRate()
Gets the caret blink rate.
JTextComponent  getComponent()
Gets the component that this caret is for.
int  getDot()
Fetches the current position of the caret.
Point  getMagicCaretPosition()
Gets the saved caret position.
int  getMark()
Fetches the current position of the mark.
Highlighter.HighlightPainter  getSelectionPainter()
Gets the painter for the Highlighter.
void  install(JTextComponent c)
Called when the UI is being installed into the interface of a JTextComponent.
boolean  isSelectionVisible()
 
boolean  isVisible()
Determines if the caret is currently visible.
void  mouseClicked(MouseEvent e)
Called when the mouse is clicked.
void  mouseDragged(MouseEvent e)
Moves the caret position according to the mouse pointers current location.
void  mouseEntered(MouseEvent e)
Called when the mouse enters a region.
void  mouseExited(MouseEvent e)
Called when the mouse exits a region.
void  mouseMoved(MouseEvent e)
Called when the mouse is moved.
void  mousePressed(MouseEvent e)
Requests focus on the associated text component, and try to set the cursor position.
void  mouseReleased(MouseEvent e)
Called when the mouse is released.
void  moveCaret(MouseEvent e)
Tries to move the position of the caret from the coordinates of the mouse event.
void  moveDot(int dot)
Moves the caret position to some other position.
void  paint(Graphics g)
Renders the caret as a vertical line.
void  positionCaret(MouseEvent e)
Tries to set the position of the caret from the coordinates of the mouse event.
void  removeChangeListener(ChangeListener l)
Removes a listener that was tracking caret position changes.
void  setBlinkRate(int rate)
Sets the caret blink rate.
void  setDot(int dot)
Sets the caret position and mark to some position.
void  setMagicCaretPosition(Point p)
Saves the current caret position.
void  setSelectionVisible(boolean vis)
Change the selection visibility.
void  setVisible(boolean e)
Sets the caret visibility.
 
Methods inherited from class java.lang.Object
 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

listenerList

protected EventListenerList listenerList
The event listener list.

changeEvent

protected ChangeEvent changeEvent
The change event for the model. Only one ChangeEvent is needed per model instance since the event's only (read-only) state is the source property. The source of events generated here is always "this".
Constructor Detail

DefaultCaret

public DefaultCaret()
Constructs a default caret.
Method Detail

getComponent

protected final JTextComponent getComponent()
Gets the component that this caret is for.
Returns:
the component

damage

protected void damage(Rectangle r)
Damages the area surrounding the caret to cause it to be repainted. If paint() is reimplemented, this method should also be reimplemented.
Parameters:
r - the current location of the caret
See Also:
paint

adjustVisibility

protected void adjustVisibility(Rectangle nloc)
Scrolls the associated view (if necessary) to make the caret visible. Since how this should be done is somewhat of a policy, this method can be reimplemented to change the behavior. By default the scrollRectToVisible method is called on the associated component.
Parameters:
nloc - the new position

getSelectionPainter

protected Highlighter.HighlightPainter getSelectionPainter()
Gets the painter for the Highlighter.
Returns:
the painter

positionCaret

protected void positionCaret(MouseEvent e)
Tries to set the position of the caret from the coordinates of the mouse event.
Parameters:
e - the mouse event

moveCaret

protected void moveCaret(MouseEvent e)
Tries to move the position of the caret from the coordinates of the mouse event. This will cause a selection if the dot and mark are different.
Parameters:
e - the mouse event

focusGained

public void focusGained(FocusEvent e)
Called when the component containing the caret gains focus. This is implemented to set the caret to visible if the component is editable, and sets the selection to visible.
Implements:
focusGained in interface FocusListener
Parameters:
e - the focus event
See Also:
focusGained

focusLost

public void focusLost(FocusEvent e)
Called when the component containing the caret loses focus. This is implemented to set the caret to visibility to false, and to set the selection visibility to false.
Implements:
focusLost in interface FocusListener
Parameters:
e - the focus event
See Also:
focusLost

mouseClicked

public void mouseClicked(MouseEvent e)
Called when the mouse is clicked.
Implements:
mouseClicked in interface MouseListener
Parameters:
e - the mouse event
See Also:
mouseClicked

mousePressed

public void mousePressed(MouseEvent e)
Requests focus on the associated text component, and try to set the cursor position.
Implements:
mousePressed in interface MouseListener
Parameters:
e - the mouse event
See Also:
mousePressed

mouseReleased

public void mouseReleased(MouseEvent e)
Called when the mouse is released.
Implements:
mouseReleased in interface MouseListener
Parameters:
e - the mouse event
See Also:
mouseReleased

mouseEntered

public void mouseEntered(MouseEvent e)
Called when the mouse enters a region.
Implements:
mouseEntered in interface MouseListener
Parameters:
e - the mouse event
See Also:
mouseEntered

mouseExited

public void mouseExited(MouseEvent e)
Called when the mouse exits a region.
Implements:
mouseExited in interface MouseListener
Parameters:
e - the mouse event
See Also:
mouseExited

mouseDragged

public void mouseDragged(MouseEvent e)
Moves the caret position according to the mouse pointers current location. This effectively extends the selection.
Implements:
mouseDragged in interface MouseMotionListener
Parameters:
e - the mouse event
See Also:
mouseDragged

mouseMoved

public void mouseMoved(MouseEvent e)
Called when the mouse is moved.
Implements:
mouseMoved in interface MouseMotionListener
Parameters:
e - the mouse event
See Also:
mouseMoved

paint

public void paint(Graphics g)
Renders the caret as a vertical line. If this is reimplemented the damage method should also be reimplemented as it assumes the shape of the caret is a vertical line.
Implements:
paint in interface Caret
Parameters:
g - the graphics context
See Also:
damage

install

public void install(JTextComponent c)
Called when the UI is being installed into the interface of a JTextComponent. This can be used to gain access to the model that is being navigated by the implementation of this interface.
Implements:
install in interface Caret
Parameters:
c - the component
See Also:
install

deinstall

public void deinstall(JTextComponent c)
Called when the UI is being removed from the interface of a JTextComponent. This is used to unregister any listeners that were attached.
Implements:
deinstall in interface Caret
Parameters:
c - the component
See Also:
deinstall

addChangeListener

public void addChangeListener(ChangeListener l)
Adds a listener to track whenever the caret position has been changed.
Implements:
addChangeListener in interface Caret
Parameters:
l - the listener
See Also:
addChangeListener

removeChangeListener

public void removeChangeListener(ChangeListener l)
Removes a listener that was tracking caret position changes.
Implements:
removeChangeListener in interface Caret
Parameters:
l - the listener
See Also:
removeChangeListener

fireStateChanged

protected void fireStateChanged()
Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the parameters passed into the fire method.
See Also:
EventListenerList

setSelectionVisible

public void setSelectionVisible(boolean vis)
Change the selection visibility.
Implements:
setSelectionVisible in interface Caret

isSelectionVisible

public boolean isSelectionVisible()
Implements:
isSelectionVisible in interface Caret

isVisible

public boolean isVisible()
Determines if the caret is currently visible.
Implements:
isVisible in interface Caret
Returns:
true if visible else false
See Also:
isVisible

setVisible

public void setVisible(boolean e)
Sets the caret visibility.
Implements:
setVisible in interface Caret
Parameters:
e - the visibility specifier
See Also:
setVisible

setBlinkRate

public void setBlinkRate(int rate)
Sets the caret blink rate.
Implements:
setBlinkRate in interface Caret
Parameters:
rate - the rate
See Also:
setBlinkRate

getBlinkRate

public int getBlinkRate()
Gets the caret blink rate.
Implements:
getBlinkRate in interface Caret
See Also:
getBlinkRate

getDot

public int getDot()
Fetches the current position of the caret.
Implements:
getDot in interface Caret
Returns:
the position
See Also:
getDot

getMark

public int getMark()
Fetches the current position of the mark. If there is a selection, the dot and mark will not be the same.
Implements:
getMark in interface Caret
Returns:
the position
See Also:
getMark

setDot

public void setDot(int dot)
Sets the caret position and mark to some position. This implicitly sets the selection range to zero.
Implements:
setDot in interface Caret
Parameters:
dot - the position
See Also:
setDot

moveDot

public void moveDot(int dot)
Moves the caret position to some other position.
Implements:
moveDot in interface Caret
Parameters:
dot - the position
See Also:
moveDot

setMagicCaretPosition

public void setMagicCaretPosition(Point p)
Saves the current caret position. This is used when caret up/down actions occur, moving between lines that have uneven end positions.
Implements:
setMagicCaretPosition in interface Caret
Parameters:
p - the position
See Also:
getMagicCaretPosition, UpAction, DownAction

getMagicCaretPosition

public Point getMagicCaretPosition()
Gets the saved caret position.
Implements:
getMagicCaretPosition in interface Caret
Returns:
the position see #setMagicCaretPosition

Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

Submit a bug or feature
Submit comments/suggestions about new javadoc look.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.