JavaFX 1.1 API | Overview | Java FX

javafx.animation

Provides the set of classes for the time-based animation framework.

Provides the set of classes for the time-based animation framework.

This framework defines a mapping of time to values for the target variable.
This variable transitions between the declared values at certain points
in time, by using the declared interpolation function to calculate the
in-between value.

&nbsp;

javafx.animation.transition

Provides the set of classes for ease of use transition based animations.

Provides the set of classes for ease of use transition based animations.

It offers a simple framework for incorporating animations onto an internal
Timeline. It also provides high level constructs to compose the effects
of multiple animations.

&nbsp;

javafx.async

javafx.data.pull

javafx.data.xml

javafx.ext.swing

Provides the set of graphical user interface component classes that, to the
maximum degree possible, work the same on all platforms.

Provides the set of graphical user interface component classes that, to the
maximum degree possible, work the same on all platforms.

Provides functionality to load JavaFX content files (FXD and FXZ format) generated
by JavaFX Production Suite.
JavaFX content format contains text descriptions of the graphical content of the JavaFX
application. Descriptions are loaded by this package
into the application during runtime.
JavaFX content format exists in two forms, FXD and FXZ. FXD
is a textual
format using the same object literal syntax as JavaFX Script, so it is possible
to copy and paste the descriptions from the FXD file directly to the
JavaFX Script code (with some exceptions noted at the end of this document).
Here is an example of a simple
FXD file:

The FXD format currently supports all classes from the graphical Javafx packages. Details
are provided at the end of this document. Here are the properties of FXD format, in contrast to JavaFX Script code:

FXD/FXZ files contain only descriptions of data; no code is generated

FXD/FXZ descriptions support only object literal syntax

FXD/FXD descriptions also support constructor functions (for example, see Font.font)

FXD files can contain only definitions; no code is supported

FXD descriptions identify graphic objects using the id attribute

It is possible to reference external assets from FXD content. The FXD description follows the same approach as JavaFX Script, using the {__DIR__} magic variable.
The following example demonstrates referencing embedded font and image files in the FXD description. All of the files are stored in an FXZ file called mygfx.fxz:

In the above example, the group contains two nodes - ImageView with
Image, which
loads its content from the myimage.png file. The other node is a Text
node and it uses a custom font with size 25. The font is loaded from the myfont.ttf
file. Both, the image and the font files are located in the same
directory as the mygfx.fxd file itself.
FXZ is simply a compressed version of the FXD content using zip compression
and file format. The FXZ file can also contain embedded assets, such as images or fonts. The structure of the FXZ file from the example above is as follows:
>

mygfx.fxz
+- content.fxd
+- myimage.png
+- myfont.ttf
+- ...

The content.fxd file is the main content of the FXZ archive, containing the description of the graphic objects. The other
files, myimage.png and myfont.ttf are the embedded image and font assets.
FXZ files can be loaded in exactly the same way as FXD files, using
the javafx.fxd.FXDLoader class.
FXD Format Syntax Details
FXD format follows the same object literals syntax as JavaFX Script.
Besides object literals, constructor functions (such as Font.font) are supported. This
makes FXD format highly compatible with JavaFX Script, and it
is possible to copy the FXD content directly to the JavaFX script code (with the exception
of the Font.fontFromURL construct, which does not have a JavaFX Script equivalent).
The differences between FXD format and JavaFX Script code are the following:

FXD/FXZ files contain only descriptions of data; no code is generated

FXD/FXZ descriptions support only object literal syntax

FXD/FXD descriptions also support constructor functions (for example, see Font.font)

FXD files can contain only definitions; no code is supported

FXD descriptions identify graphic objects using the id attribute

In version 1.0, FXD format supports all classes from these javafx packages:

javafx.scene

javafx.scene.effect

javafx.scene.effect.light

javafx.scene.image

javafx.scene.paint

javafx.scene.shape

javafx.scene.text

javafx.scene.transform

except these classes, variables and functions:

Node.cursor - attribute not recognized

Image.backgroundLoading - attribute not recognized

Image.width - attribute not recognized

Image.height - attribute not recognized

Image.smooth - attribute not recognized

Image.placeholder - attribute not recognized

Image.preserveRatio - attribute not recognized

DelegateShape - class not supported at all

Version attribute is specified by the //@version tag at the beginning of the FXD
file. For example:

//@version 1.0

&nbsp;

javafx.geometry

javafx.io.http

javafx.lang

This package provides JavaFX Script Runtime APIs

This package provides JavaFX Script Runtime APIs

Builtins

This class is automatically imported to all JavaFX Scripts

FX

The FX class contains number of static entry points
for a couple of different API sets provided by JavaFX Script.

Application Model

JavaFX Script APIs are categorized into following profiles.

Common Profile

This API is common across all platforms

Desktop Profile

This API is available only in the desktop environment
(browser & standalone)

Mobile Profile

This API is available only in the mobile environment.

If an application needs to be portable across all screens,
it has to limit itself to common profile APIs. The JavaFX Script
Runtime has the ability to run JavaFX Scripts
that use the common or desktop API sets in any supported Browser.

Argument or Parameter Handling

JavaFX Scripts can get Arguments or Parameters in 2 different
forms

Named

Named Parameters come in the form of a Name, Value pair typically
from HTML, JAD or JNLP files. They can also be passed as a commandline
argument in the form of "name=value".

These cannot be combined, if they are it will behave as space
seperated arguments.

SystemProperty information

&nbsp;

javafx.reflect

Provides reflective access to JavaFX values and types.

Provides reflective access to JavaFX values and types.
This packages defines a Java API (rather than a JavaFX API),
so it can be used from both Java and JavaFX code.
A future JavaFX API may be layered on top of this.

Context

The objects in this package are directly or indirectly created
from a FXContext.
In the default case there is a single FXContext instance that
uses Java reflection. You get one of these by doing:

FXLocal.Context ctx = FXLocal.getContext();

Alternatively, you can do:

FXContext ctx = FXContext.getInstance();

The latter is more abstract (as it supports proxying for remote VMs)
but the more specific FXLocal.Context supports some extra
operations that only make sense for same-VM reflection.

Values

The various reflection operations do not directly use
Java values. Instead,
an javafx.reflect.FXObjectValue is a handle or
proxy for an Object. This extra layer of indirection
isn't needed in many cases, bur it is useful for remote invocation,
remote control, or in general access to data in a different VM.

Keep everything abstract, and allow indirection.
For example, we might be working on objects in the current VM,
or a remote VM. We might not have objects at all - a subset of the same API
might be used for (say) reading from .class files.

Hence the core classes are interfaces or abstract.

On the other hand, we should avoid useless levels of indirection
or "service lookup".

Limitations

Error handling isn't very consistent - sometimes we return null, and
sometimes we throw an exception.

We don't support bound functions properly.

&nbsp;

javafx.scene

Provides the set of base classes for the JavaFX Scene Graph API.

Provides the set of base classes for the JavaFX Scene Graph API.

This package includes the Scene class, which defines the scene to be
rendered. It also includes
the base Node class, a Group class that contains a
sequence of child nodes for rendering, and a CustomNode class for defining Node
subclasses that create internal nodes as content.

Nodes are connected in a scene graph, which is a tree-like data structure
where each item in the tree has zero or one parent. Each node is either
a "leaf" node with no child nodes or a "branch" with zero or more child
nodes.

&nbsp;

javafx.scene.control

javafx.scene.effect

Provides the set of classes for attaching graphical filter effects to JavaFX Scene Graph Nodes.

Provides the set of classes for attaching graphical filter effects to JavaFX Scene Graph Nodes.

An effect is a graphical algorithm that produces an image, typically
as a modification of a source image.
An effect can be associated with a scene graph Node by setting the
Node.effect
attribute.
Some effects change the color properties of the source pixels
(such as ColorAdjust),
others combine multiple images together (such as
Blend),
while still others warp or move the pixels of the source image around (such as
DisplacementMap
or PerspectiveTransform).
All effects have at least one input defined and the input can be set
to another effect to chain the effects together and combine their
results, or it can be left unspecified in which case the effect will
operate on a graphical rendering of the node it is attached to.

&nbsp;

javafx.scene.effect.light

Provides the set of classes for light source implementations needed for the
Lighting effect.

Provides the set of classes for light source implementations needed for the
Lighting effect.

&nbsp;

javafx.scene.image

Provides the set of classes for loading and displaying images.

Provides the set of classes for loading and displaying images.

The javafx.scene.image.Image class is used to load images
(synchronously or asynchronously). Image can be resized as it is loaded and
the resizing can be performed with specified filtering quality and
with an option of preserving image's original aspect ratio.

The javafx.scene.image.ImageView is a Node used
for displaying images loaded with Image class.
It allows displaying a dynamically scaled and/or cropped view of the source
image. The scaling can be performed with specified filtering quality and
with an option of preserving image's original aspect ratio.

&nbsp;

javafx.scene.input

Provides the set of classes for mouse and keyboard input event handling.

Provides the set of classes for mouse and keyboard input event handling.

&nbsp;

javafx.scene.layout

Provides the set of control classes for a layout framework that holds
or organizes the nodes within it.

Provides the set of control classes for a layout framework that holds
or organizes the nodes within it.

&nbsp;

javafx.scene.media

Provides the set of classes for integrating audio and video into JavaFX Applications.

Provides the set of classes for integrating audio and video into JavaFX Applications.
Currently, the primarily used for this package is media playback.
There are 3 essential classes in the Media Package:
Media,
MediaPlayer,
and MediaView.

The Stage contains a Scene, which contains a
MediaView object. The MediaView
object has a MediaPlayer, which is playing the Media
object.

&nbsp;

javafx.scene.paint

Provides the set of classes for colors and gradients used to fill shapes and
backgrounds when rendering the scene graph.

Provides the set of classes for colors and gradients used to fill shapes and
backgrounds when rendering the scene graph.

&nbsp;

javafx.scene.shape

Provides the set of 2D classes for defining and performing operations on
objects related to two-dimensional geometry.

Provides the set of 2D classes for defining and performing operations on
objects related to two-dimensional geometry.

&nbsp;

javafx.scene.text

Provides the set of classes for fonts and renderable Text Node.

Provides the set of classes for fonts and renderable Text Node.

&nbsp;

javafx.scene.transform

Provides the set of convenient classes to perform rotating, scaling,
shearing, and translation transformations for Affine objects.

Provides the set of convenient classes to perform rotating, scaling,
shearing, and translation transformations for Affine objects.

&nbsp;

javafx.stage

Provides the top-level container classes for JavaFX scripts.

Provides the top-level container classes for JavaFX scripts.

This package encapsulates the JavaFX graphical script surroundings for the
Stage - Scene metaphor, with different capabilites available
to the Stage depending on the underlying semantics of the runtime
container.

The JavaFX TM Stage interface provides
interfaces and classes for the environment and presentation of JavaFX
script instantiations. The stage presentation specifics for each
JavaFX runtime platform will allow a script to be presented on different
platforms with consistent functionality across each runtime.

The main areas of functionality of javafx.stage
package include

Stage: Stages are the graphical container for
JavaFX script instantiations. Stages are the attributed drawing surface
for the JavaFX script.

StageExtension: Each Stage may have one or more StageExtension
instances set to provide additional functionality for the script. A StageExtension will
only be utilized if the script is running within the profile specific to that StageExtension

AppletStageExtension: When a JavaFX script is running within a browser,
the AppletStageExtension is enabled to manage the drag transition from a browser
to the desktop. Dragging a Stage out of a browser is supported in the Java TM
plugin versions 6u10 and later.

StageStyle: The StageStyle specifies the decoration and visibility semantics
of the Stage.