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

Martin Fox mfox at openjdk.org
Sun Feb 15 23:59:26 UTC 2026


On Sat, 14 Feb 2026 13:32:37 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:
> 
>   review comments

The window background color is only sent to the OS once when the window is first shown. When the color scheme changes the OS window background isn't updated so you can get resize flashing again at least on macOS.

When a window is expanded additional space is made along the right and bottom edges. You might get a better color match by sampling the fill along one of these edges or only in the lower right corner of the window.

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

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


More information about the openjfx-dev mailing list