Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4513720
Votes 1
Synopsis DefaultCaret visibility should be separate from blinking
Category java:classes_swing
Reported Against 1.4.1 , hopper , mantis-beta , merlin-beta
Release Fixed 1.5(tiger)
State 10-Fix Delivered, bug
Priority: 4-Low
Related Bugs 4712076 , 4812978 , 4853984 , 4903340
Submit Date 11-OCT-2001
Description
With the current implementation of DefaultCaret, it is impossible to distinguish between a DefaultCaret having its visibility set to false and the DefaultCaret blinking out temporarily. The problem is that the implementation for the blink uses the same visibility property that setVisible uses.

This is causing problems with DnD when we attempt to save, change, and then restore the caret visibility on a component when we enter it and exit it for a drag operation. Depending on when we enter the field, a truly visible caret may return false for its visibility because it is mid-blink. As a result, when we restore it, we may incorrectly set its visibility to false.
Work Around
N/A
Evaluation




    We should just add an xxxxx  field to store flasher 
state. visible field should be used only for Caret 
visiblity state (visible and blinking, not visible)


======================================================================




    Though isVisible() behavior is incorrect it should remain the
same to avoid compatibility problems. Instead we should add a method
isActive() indicating actual 'visible' property value.
    So the isVisible() indicates whether or not the caret is
actually visible or not due to blinking on and off,
and isActive() indicates whether the caret is currently in a blinking
state.


======================================================================

The DnD code responsible for saving and restoring the caret visibility has been changed to check isActive() rather than isVisible() when the caret is an instance of DefaultCaret.
 xxxxx@xxxxx  2003-08-28
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang