RFR: 8377426: Adjust scene background to color scheme [v2]

Andy Goryachev angorya at openjdk.org
Thu Feb 12 16:47:43 UTC 2026


On Thu, 12 Feb 2026 11:39:33 GMT, Michael Strauß <mstrauss at openjdk.org> wrote:

>> When a non-opaque scene fill color is used with a stage style other than `StageStyle.TRANSPARENT`, the actual fill color is always white. This doesn't work well when the scene uses a dark color scheme. A practical solution is to allow non-opaque scene fill colors, and blend them on top of a white or black background (depending on color scheme) to derive an opaque color that adapts intuitively to the color scheme.
>> 
>> To test this, simply create a scene that uses a non-opaque fill color and observe the scene background when the color scheme is changed.
>> 
>> This PR includes a system test, run it with:
>> 
>> ./gradlew -PFULL_TEST=true -PUSE_ROBOT=true :systemTests:test --tests test.robot.javafx.scene.SceneFillTest.testSceneFill
>
> Michael Strauß has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Clear background to dominant fill color

The last change brings, in my opinion, an unreasonable amount of fairly complicated code for something that can only be observed momentarily.  Overkill?

The main issue, if I understand it correctly, is that the background flashes with a wrong color for the given color scheme, i.e. white in the dark mode.  Could we fix just that?  I think it might be ok to flash black/white for dark/light mode correspondingly.  Or use the panel background color from the theme, if it is available at this point?

What do you think?

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

PR Comment: https://git.openjdk.org/jfx/pull/2068#issuecomment-3892055511


More information about the openjfx-dev mailing list