Skip to content

Commit

Permalink
JavaFX 23 release (#83)
Browse files Browse the repository at this point in the history
  • Loading branch information
abhinayagarwal authored Sep 16, 2024
1 parent 868d821 commit 9e51fd5
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 5 deletions.
10 changes: 5 additions & 5 deletions config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ theme = "hugo-elate-theme"

# postpended links
[[menu.postpend]]
url = "/highlights/22"
url = "/highlights/23"
name = "Highlights"
weight = 1

Expand Down Expand Up @@ -104,19 +104,19 @@ theme = "hugo-elate-theme"

[[params.documentation.reference.item]]
title = "API documentation"
url = "/javadoc/22/"
url = "/javadoc/23/"

[[params.documentation.reference.item]]
title = "Introduction to FXML"
url = "/javadoc/22/javafx.fxml/javafx/fxml/doc-files/introduction_to_fxml.html"
url = "/javadoc/23/javafx.fxml/javafx/fxml/doc-files/introduction_to_fxml.html"

[[params.documentation.reference.item]]
title = "JavaFX CSS Reference Guide"
url = "/javadoc/22/javafx.graphics/javafx/scene/doc-files/cssref.html"
url = "/javadoc/23/javafx.graphics/javafx/scene/doc-files/cssref.html"

[[params.documentation.reference.item]]
title = "Release Notes"
url = "https://github.com/openjdk/jfx/blob/jfx22/doc-files/release-notes-22.md"
url = "https://github.com/openjdk/jfx/blob/jfx23/doc-files/release-notes-23.md"

[[params.documentation.community.item]]
title = "FXDocs"
Expand Down
62 changes: 62 additions & 0 deletions content/highlights/23/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
title: "JavaFX 23 Highlights"
section: "highlights"
styleclass: "content"
---
# JavaFX 23 Highlights

JavaFX version 23 has been released. We've tailored down some of the most exciting parts of the release in this document.

### JavaFX 23 Requires JDK 21 or later

JavaFX 23 is compiled with `--release 21` and thus requires JDK 21 or later in order to run.
If you attempt to run with an older JDK, the Java launcher will exit with an error message indicating that the `javafx.base` module cannot be read.

See [JDK-8321603](https://bugs.openjdk.org/browse/JDK-8321603) for more information.

### Clicking on the Scrollbar Track of Virtualized Controls Scrolls by Viewport Length

Clicking on the scrollbar track of virtualized controls, such as `ListView`, `TreeView`, `TableView`, and `TreeTableView`,
now scrolls by the viewport length rather than the length of the empty cell.
Furthermore, cells are no longer aligned to the top or bottom of the viewport after scrolling.

See [JDK-8323511](https://bugs.openjdk.org/browse/JDK-8323511) for more information.

### Keyboard Scrolling in Virtualized Controls

Keyboard scrolling key bindings, `alt-ctrl-arrows` (`option-command-arrows` on macOS),
have been added to virtualized controls such as `ListView`, `TreeView`, `TableView`, and `TreeTableView` to improve accessibility.

See [JDK-8313138](https://bugs.openjdk.org/browse/JDK-8313138) for more information.

Exciting features:
- New APIs:
- Labeled control now has `textTruncated` property which indicates when the text is visually truncated in order to fit the available width

- New Features:
- CSS Transition support in JavaFX, making it easy to define animated transitions for creating rich and fluid user experiences
- Support "@3x" and greater high-density image naming convention
- Add support for EXT-X-MEDIA tag in HTTP Live Streaming

Improvements:
- JavaFX CSS has been receiving multiple performance improvements.
In JavaFX 22 highlights, we talked about performance improvements for css rendering.
JavaFX 23 has performance improvements for CSS selector matching

The community came together to fix 81 bugs in the last 6 months. Following are major bug-fixes that went into JavaFX 23:

- Fix for scrolling failure on a touch enabled display on Wayland
- Fix for ConcurrentModificationException in MediaPlayer which can lead to application crashes or unexpected behavior in media application
- Fix HLS video stream to render consistently
- Fix for `KeyEvent.getCode()` is `null` inside JFXPanel, affecting Swing/JavaFX integration

Finally, these are some dependency upgrades in JavaFX 23:
- Upgraded WebKit to 617.1
- Upgraded ICU4C to 74.2
- Upgraded SQLite to 3.45.3
- Upgraded libxml2 to 2.12.7


A more comprehensive list of all the changes in JavaFX 23 can be found on [Github](https://github.com/openjdk/jfx/blob/jfx23/doc-files/release-notes-23.md).

Kudos go to the fine people at [Gluon](https://gluonhq.com) who took care of the bulk of the work on JavaFX 23. Do check their [JavaFX Long Term Support](https://gluonhq.com/services/javafx-support/) services.

0 comments on commit 9e51fd5

Please sign in to comment.