JavaFX: Difference between revisions

Content deleted Content added
No edit summary
m top: Updated latest version to 24.0.2
Tags: Mobile edit Mobile app edit Android app edit App section source
 
(5 intermediate revisions by 3 users not shown)
Line 1:
{{short description|Java softwareGUI platform for GUIFramework}}
{{Infobox software
| name = JavaFX
Line 5:
| developer = [[Oracle Corporation]]
| released = {{Start date and age|2008|12|04}}
| latest release version = 2124.0.2
| latest release date = {{Start date and age|20242025|0106|1615}}<ref>{{Cite web|url=https://gluonhq.com/products/javafx/|title=Products » JavaFX|access-date=20232025-0608-2029}}</ref>
| latest preview version =
| latest preview date =
Line 52:
 
Sun planned to enable out-of-the-box support of JavaFX on the devices by working with handset manufacturers and mobile operators to preload the JavaFX Mobile runtime on the handsets. JavaFX Mobile running on an Android was demonstrated at [[JavaOne]] 2008 and selected partnerships (incl. [[LG Electronics]], [[Sony Ericsson]]) were announced at the JavaFX Mobile launch in February, 2009.
{| class="wikitable"
|'''Type'''
|'''Description'''
|'''Applications'''
|-
|'''Basic Matrix Heat Map'''
|Displays values in a 2D grid with color encoding. Simple structure without clustering or hierarchy.
|Gene expression, correlation matrices, simple statistics
|-
|'''Clustered Heat Map'''
|Extends matrix heat maps by grouping similar rows/columns using hierarchical clustering and dendrograms.
|Genomics, customer segmentation, biological networks
|-
|'''Annotated Heat Map'''
|Each cell includes a numeric label to show exact value along with color gradient.
|Dashboard reporting, business intelligence, health data
|-
|'''Geographic Heat Map'''
|Overlay of intensity values on maps, usually by region or ___location coordinates.
|Crime mapping, election results, population studies
|-
|'''Point Density Heat Map'''
|Displays density based on point events (without relying on regions).
|Epidemiology, traffic analysis, hotspot detection
|-
|'''Interactive Heat Map'''
|Digital maps with interactivity such as zoom, filter, tooltips for values.
|Web usability, marketing analysis, behavioral tracking
|-
|'''3D/Volumetric Heat Map'''
|Visualizes values in three dimensions or volume scans (e.g., medical imaging).
|MRI analysis, neuroscience, CT scan analysis
|-
|'''Temporal (Calendar) Heat Map'''
|Heat maps organized by time blocks (calendar, weekly, daily patterns).
|Activity visualization, GitHub commits, sales tracking
|-
|'''Multivariate Heat Map'''
|Encodes more than one variable using color, size, shape, or annotation in each cell.
|AI interpretability, genomics, data dashboards
|-
|'''Correlogram'''
|A symmetric matrix showing pairwise correlations, often with color intensity and signs.
|Economics, psychology, education research
|}
 
=== Example ===
To launch a JavaFX application, the main class extends <code>javafx.application.Application</code> and <code>main()</code> calls <code>Application::launch</code> which internally calls <code>Application::start</code>, which is overriden by the main class and acts as the entry point of the application itself.
<syntaxhighlight lang="java">
import javafx.application.Application;
Line 127 ⟶ 83:
 
== Components ==
 
The JavaFX platform includes the following components:
 
Line 133 ⟶ 88:
* [[NetBeans]] IDE for JavaFX: NetBeans with drag-and-drop palette to add objects with transformations, effects and animations plus a set of samples and best practices. For Eclipse users there is a community-supported plugin hosted on e(fx)clipse.
* JavaFX Scene Builder: This was introduced for JavaFX 2.1 and later. A user interface (UI) is created by dragging and dropping controls from a palette. The layout is saved as an FXML file, which is a special XML format.
 
=== Modules ===
JavaFX is split into the following [[Java Platform Module System|modules]].<ref>{{Cite web|url=https://openjfx.io/javadoc/24/|title=Overview (JavaFX)|website=openjfx.io}}</ref>
{| class="wikitable"
|'''! Name !! Description'''
|-
| {{code|javafx.base}}
| Defines core APIs for the JavaFX UI toolkit (such as APIs for bindings, properties, collections, and events).
|-
| {{code|javafx.controls}}
| Defines the APIs for UI controls, charts, skins in the JavaFX UI toolkit.
|-
| {{code|javafx.fxml}}
| Defines the FXML APIs in the JavaFX UI toolkit.
|-
| {{code|javafx.graphics}}
| Defines scenegraph, animation, geometry, and other related APIs for the JavaFX UI toolkit.
|-
| {{code|javafx.media}}
| Defines media playback and audio content APIs for the JavaFX UI toolkit.
|-
| {{code|javafx.swing}}
| Defines JavaFX/[[Swing (Java)|Swing]] interop support APIs for the JavaFX UI toolkit.
|-
| {{code|javafx.web}}
| Defines WebView APIs for the JavaFX UI toolkit.
|-
| {{code|jdk.jsobject}}
| Defines APIs for [[JavaScript]] objects.
|-
| {{code|jfx.incubator.input}}
| Incubates mechanism for customising JavaFX controls.
|-
| {{code|jfx.incubator.richtext}}
| Incubates RichTextArea control for JavaFX.
|}
 
== History ==