RFR: 8311895: CSS Transitions [v19]

Nir Lisker nlisker at openjdk.org
Sat May 25 23:22:11 UTC 2024


On Sat, 25 May 2024 21:39:24 GMT, Michael Strauß <mstrauss at openjdk.org> wrote:

>> Implementation of [CSS Transitions](https://gist.github.com/mstr2/c72f8c9faa87de14926978f517a6018a).
>> 
>> ### Future enhancements
>> CSS transitions requires all participating objects to implement the `Interpolatable` interface. For example, targeting `-fx-background-color` only works if all background-related objects are interpolatable: `Color`, `BackgroundFill`, and `Background`.
>> 
>> In a follow-up PR, the following types will implement the `Interpolatable` interface:
>> `LinearGradient`, `RadialGradient`, `Stop`, `Background`, `BackgroundFill`, `BackgroundImage`, `BackgroundPosition`, `BackgroundSize`, `BackgroundStroke`, `BorderWidths`, `CornerRadii`, `Insets`.
>> 
>> ### Limitations
>> This implementation supports both shorthand and longhand notations for the `transition` property. However, due to limitations of JavaFX CSS, mixing both notations doesn't work:
>> 
>> .button {
>>     transition: -fx-background-color 1s;
>>     transition-easing-function: linear;
>> }
>> 
>> This issue should be addressed in a follow-up enhancement.
>
> Michael Strauß has updated the pull request incrementally with one additional commit since the last revision:
> 
>   added documentation

modules/javafx.graphics/src/main/docs/javafx/scene/doc-files/cssref.html line 749:

> 747:         <li>The property value is set programmatically</li>
> 748:         <li>The property is bound</li>
> 749:         <li>The node becomes invisible</li>

I would mention that this relates to the `visible` property and not to the `opacity` one (the node is invisible if opacity is 0).

Other than that, looks good.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/870#discussion_r1614945779


More information about the openjfx-dev mailing list