On Thu, 6 Jun 2024 07:28:59 GMT, Alexander Zuev <[email protected]> wrote:

>> As per the spec, getLocationOnScreen() API can throw ICSE and it should be 
>> right to catch this exception. Moreover, I tried checking with the 
>> JTableHeader's visibility, still got the ICSE while performing the testing. 
>> So, I think this should be an ideal way to handle.
>
> That is very strange - the only reason getLocationOnScreen should throw ICSE 
> is when component is not showing on the screen. So if you ask 
> parent.isShowing() and it returns true but you still getting the exception - 
> you need to investigate what is going on, this is not a normal behavior.

Actually I was checking visibility with `parent.isVisible()` and this is always 
`true` but I was getting exception for getLocationOnScreen method. 
But when checked with `parent.isShowing()` then it behaves correctly, whenever 
it returns `false`, there is no exception as it doesn't go inside condition and 
when it returns `true`, `getLocationOnScreen` works as expected.

So, I guess `parent.isShowing` check should be sufficient to handle the 
exception.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19391#discussion_r1629036998

Reply via email to