-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(Theming) Inconsistent highlighting for long JTables #441
Comments
I'm not sure what I'm looking at. What is a long table? A lot of columns with horizontal scrolling, or a lot of rows with vertical scrolling? Is this reproducible in the main Radiance demo in |
Sorry for my poor description above. The table is a table with a lot of rows with vertical scrolling. There are four sceenshots in different look-and-feels. The problem is that the grey artifacts (or different colors) come out in the column. I have not tried the main Radiance demo yet. |
Is it also the issue with that partial color displayed under My primary suspect would be that it has something to do with the major refactoring of the rendering pipeline that was done last year. There was one issue that was fixed in 5c62668 for 6.5.0, but other than that, I'm not seeing anything else in the demo. Note that I do not have access to the particular environment (RHEL), so if it only happens there, I won't be able to debug this issue. |
Yes, it is also the issue with that partial color displayed under -26. part of -26.19... in the second column of the first and third screenshots, and this issue comes out most frequently. The grey artifact does not come out so often but can be reproduced. I have tried other environments, and this problem can be reproduced in Rocky Linux 8.4, but not seen in RHEL 7. |
Are you using different screens, or same screen? Most of the issues that were fixed in the new rendering pipeline were only reproducible on regular-resolution / low-DPI screens. |
I am using virtual machines (Virtualbox 7.0) for the Linux systems, in the same Windows host. |
In terms of trying to pinpoint the issue on your system, since I don't have access to these environments:
Sorry for dropping this on your side, but that's pretty much all I can do without a reproducer on my side on either Windows or macOS |
Sorry my bad. 1126 and 1144 are relevant here. 1101 is for drawing the highlights for the current drop location |
Sorry. I made a mistake to comment out After commenting out 1126 and 1144, the highlighting problem disappears!
|
So now it will be this part:
|
・Without commenting out 1126 and 1144 in RadianceTableUI, either commenting out line 95 or line 97 in HighlightPainterUtils can solve the highlighting issue. However, the header of the table looks strangle (the fonts become ugly) in either case. ・Commenting out both line 95 and line 97 makes the issue come out again when clicking the columns. ・Commenting out 1126 and 1144 in RadianceTabeleUI seems to remove the issue if just moving the mouse, however, |
8d7aaf1 is a very small fix in To your points:
What are you seeing in 2 and 3, if you can attach screenshots? |
The next step would be to replace calls to Radiance fill / border painters with something that just uses direct Java2D APIs:
With this you should see bright red highlights with pixel-thing blue borders |
Small correction to use the right graphics context:
|
I have redone the tests and it was found that "gradle build" after "gradle clean" of previously-built radiance is necesary, otherwise the test results depend on how the radiance library is built. The following are my test results. 8d7aaf1 did not fix the highlighting issue. By the way, it is found that there exists a "border row" beyond which the highlighting issue comes out. For example, beyond the row 1638 in the attached snapshot (1st one), the issue comes out. Commenting out the lines highlightPainter.paintContourBackground remove all the background highlights and only leave changes to the text. The fonts in the header become ugly (lose the anti-aliasing compared to the rest of the table). Moreover, moving the horizontal slide bar left and right makes that the header of the table can not be updated correctly. Commenting out paintHighlightBorder1X seems to be different but the issue is still there. Moving the horizontal slide bar left and right results in some updating issues in the column. |
Thanks. So it is a combination of the specific OS version + a specific Java version, or all Java versions on that OS? |
The side effect that moving the horizontal slide bar left and right makes the header of the table incorrectly updated with some vertical blue lines is not dependent on OS and Java. It can be reproduced in all versions of RedHat, and also Windows 10, with either Java 11 or Java 17. |
I'm not sure how to proceed here, to be honest. Looks like the issue is somewhere in My next step if I could reproduce this locally would be to start looking at the various pieces in |
Can't reproduce this on my Windows 10 with Oracle OpenJDK 17.0.2 either. I have a high DPI screen at 2.5x scale factor, and forcing 1x in code doesn't show any issue either. I did notice though that both |
Version of Radiance (latest release is 7.0-SNAPSHOT)
7.0-SNAPSHOT
Sub-project (Common, Animation, Theming, Component, ...)
Theming
Version of Java (current minimum is 9)
Java 17
Version of OS
RHEL 8.4 and RHEL 9.0
The issue you're experiencing (expected vs actual, screenshot, stack trace etc)
The highlighting for rows of a long JTable becomes inconsistent and unstable, as shown by the attached snapshot. The problems have not been reproduced on Windows 10. Also, the problems have not been reproduced on RHEL 8/9 with the Radiance-theming version of Jan-2022.
The text was updated successfully, but these errors were encountered: