On Thu, 4 Jun 2026 21:23:03 GMT, Michael Strauß <[email protected]> wrote:

>> Several JavaFX controls use animations to convey state changes, some of 
>> which are controllable by developers (for example: `TitledPane.animated` or 
>> `Chart.animated`). However, none of those controls respect the 
>> `reducedMotion` preference that was introduced with 
>> [JDK-8341514](https://bugs.openjdk.org/browse/JDK-8341514).
>> 
>> This enhancement changes the behavior of the following control skins to take 
>> the `Scene.Preferences.reducedMotion` preference into account when 
>> determining whether to animate a state change:
>> 
>> * `TableRowSkinBase`
>> * `TitledPaneSkin`
>> * `TabPaneSkin`
>> * `PaginationSkin`
>> * Charts
>> 
>> For controls whose animation can be toggled by developers, it is useful to 
>> think of the `animated` property as the application choice, while 
>> `reducedMotion` is the user choice.
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Michael Strauß has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   stop animations in dispose()

modules/javafx.controls/src/main/java/javafx/scene/control/skin/PaginationSkin.java
 line 421:

> 419:         getChildren().removeAll(currentStackPane, nextStackPane, 
> navigation);
> 420: 
> 421:         if (deferredStartup != null) {

also here, probably should move it before removing children in L418

modules/javafx.controls/src/main/java/javafx/scene/control/skin/TabPaneSkin.java
 line 1600:

> 1598:             setOnMousePressed(null);
> 1599: 
> 1600:             if (currentAnimation != null) {

maybe it should be the first thing called in `dispose()`

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

PR Review Comment: https://git.openjdk.org/jfx/pull/2177#discussion_r3359058376
PR Review Comment: https://git.openjdk.org/jfx/pull/2177#discussion_r3359050159

Reply via email to