> When a textfield is embedded in a TableCellEditor in a JTable in Aqua L&F and 
> space is entered and caret moved back and forth by pressing left/right arrow 
> button, an artifact is seen, which is basically the caret is not properly 
> repainted leaving behind its trails.
> 
> When caret is moved, it is repainted every time by "damaging" the area 
> surrounding the caret to cause it to be repainted in a new location. 
> AquaCaret overrides the default "damage" code to intersect the caret area 
> with the border insets so that it does not damage the AquaBorder area..
> For TextField case, AquaTextFieldBorder insets is removed from AquaTextField 
> and then intersected with AquaCaret to get the dirry region which is then 
> repainted, so as to not damage the border but it is done irrespective of 
> whether border is shown or not, so proper dirty region is not repainted 
> leaving behind artifacts when the caret is moved around...
> 
> Fix is to see if border to be painted is not opaque in which case the proper 
> dirty region is calculated which is then used in repaint logic to repaint the 
> component..

Prasanta Sadhukhan has updated the pull request incrementally with one 
additional commit since the last revision:

  Test fix

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/22416/files
  - new: https://git.openjdk.org/jdk/pull/22416/files/005ac187..1797ded4

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=22416&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22416&range=00-01

  Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/22416.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22416/head:pull/22416

PR: https://git.openjdk.org/jdk/pull/22416

Reply via email to