Overview
This class loads JavaFX content files--either FXD (plain text) or FXZ (a compressed archive with embedded binary assets). It can be used either synchronously (as a blocking operation) or asynchronously (as a nonblocking operation). Synchronous (blocking) load usage:
var group:Group .... // a graphics group defined elsewhere var fxdGraphics = FXDLoader.load("{__DIR__}graphics.fxz"); // loads the // content and blocks until all of the content is loaded insert fxdGraphics into group.content; // inserts the loaded FXD content // into the group
Asynchronous (non-blocking) load usage:
var group:Group .... // a graphics group defined elsewhere var loader:FXDLoader = FXDLoader { onDone: function() { // called when loading is done if (loader.succeeded) { insert loader.content.getRoot() into group.content; // inserts loaded graphics into the group } else { println("Loading graphics from {loader.source} failed. Reason = {loader.causeOfFailure}"); } } }; FXDLoader.loadOnBackground("{__DIR__}graphics.fxz", loader); // starts loading, // but does not wait until the graphics content is loaded
If synchronous (blocking) loading is used, only local files (files that are packaged within the application) should be loaded to prevent the application from becoming unresponsive.
Note: When running the code on mobile devices, only FXZ files that are uncompressed to a directory or FXD files are supported for remote access, not remote FXZ files (files that are not packaged within the application). The desktop profile supports all file formats either locally or remotely.
Profile: common
Variable Summary
access | name | type | Can Read | Can Init | Can Write | Default Value | description |
---|---|---|---|---|---|---|---|
public-read | content | FXDContent |
Loaded content. Loaded content. The value is null before the loading starts. Profile: common |
||||
public-read protected | source | Object | subclass | subclass |
The source from which the content is loaded. The source from which the content is loaded. In most cases, the value is the URL supplied by the functions FXDLoader.createLoader(url) or FXDLoader.loadOnBackground(url, loader) Profile: common |
Inherited Variables
javafx.async.Task
access | name | type | Can Read | Can Init | Can Write | Default Value | description |
---|---|---|---|---|---|---|---|
public-read protected | causeOfFailure | Object | subclass | subclass | null |
Indicates the cause of failure of this task. Indicates the cause of failure of this task. If this variable's value
is
See Also:
Profile: common |
|
public-read protected | done | Boolean | subclass | subclass | false |
Indicates if this task has completed. Indicates if this task has completed. This is the last of the
variables started, stopped, failed,
succeeded and causeOfFailure to be modified.
This variable is to be set to Profile: common |
|
public-read protected | failed | Boolean | subclass | subclass | false |
Indicates if this task has failed. Indicates if this task has failed.
This variable is set to
See Also:
Profile: common |
|
public-read protected | maxProgress | Long | subclass | subclass | -1 |
Indicates a maximum value for the progress variable. Indicates a maximum value for the progress variable. If set to zero or a negative value, there is no known maximum and the percentDone variable will not change during the course of execution of this task. -1
See Also:
Profile: common |
|
public | onDone | function():Void | null |
Callback that is invoked once to indicate that the task execution has completed (successfully, or unsuccessfully). Callback that is invoked once to indicate that the task execution has completed (successfully, or unsuccessfully). This task's implemenation will not modify this task's variables during or after a call to this function. Once the start() function has been called, this function will eventually be called, if it is non-null. null
See Also:
Profile: common |
|||
public | onStart | function():Void | null |
Callback that is invoked once to indicate that the task is about to start execution. |
|||
public-read | percentDone | Number | -1 |
Indicates the current progress of this task in terms of percent complete. Indicates the current progress of this task in terms of percent complete. A value between zero and one indicates progress toward completion. This variable's value may or may not change from its default value depending on the specific Task implementation. -1
See Also:
Profile: common |
|||
public-read protected | progress | Long | subclass | subclass | -1 |
Indicates the current progress toward completion of this task. Indicates the current progress toward completion of this task. Zero or a positive value indicate progress toward completion. This variable's value may or may not change from its default value depending on the specific Task implementation. -1
See Also:
Profile: common |
|
public-read protected | started | Boolean | subclass | subclass | false |
Indicates if this task has started. |
|
public-read protected | stopped | Boolean | subclass | subclass | false |
Indicates if this task has been stopped. Indicates if this task has been stopped.
This variable is set to
See Also:
Profile: common |
|
public-read protected | succeeded | Boolean | subclass | subclass | false |
Indicates if this task has successfully completed. |
Script Function Summary
- public createLoader(url: java.lang.String) : FXDLoader
-
Creates a loader for a content file with a given URL.
Creates a loader for a content file with a given URL. This loader executes loading asynchronously in the background. The loader is started by calling the start() function. When loading is done, the onDone() function is called.
Usage:
var loader:FXDLoader = FXDLoader.createLoader("{__DIR__}content.fxz"); loader.onDone = function() { if (loader.succeeded) { scene.content = loader.content.getRoot(); } else { println("Loading graphics from {loader.source} failed. Reason = {loader.causeOfFailure}); } }; loader.start();
-
Parameters
- url
- The URL from which the content should be loaded
-
Returns
- FXDLoader
- FXDLoader
Profile: common
- public load(url: java.lang.String) : Node
-
Loads a JavaFX content file from a given URL and returns the top root node.
Loads a JavaFX content file from a given URL and returns the top root node.
Note: Because this loading function is a synchronous (blocking) operation, only local files (files packaged with the application) should be loaded to prevent the application from becoming unresponsive.
-
Parameters
- url
- The URL from which the file should be loaded
-
Returns
- Node
- Node The top root node of the loaded content
Profile: common
- public loadContent(url: java.lang.String) : FXDContent
-
Loads a JavaFX content file from a given URL and returns a javafx.fxd.FXDContent object, which can be used to access named elements (elements with the
id
variable specified).Loads a JavaFX content file from a given URL and returns a javafx.fxd.FXDContent object, which can be used to access named elements (elements with the
id
variable specified).Note: Since this function is a synchronous (blocking) operation, only local files should be loaded to prevent the application from becoming unresponsive.
-
Parameters
- url
- The URL from which the content file should be loaded
-
Returns
- FXDContent
- FXDContent
Profile: common
- public loadOnBackground(url: java.lang.String, loader: FXDLoader) : FXDLoader
-
Starts loading content from a given URL using the supplied loader.
Starts loading content from a given URL using the supplied loader. If the loader argument is null, a new loader is created. This function returns the loader used to load the content, either the supplied one or the one created. The loading starts automatically.
Usage:
var loader:FXDLoader = FXDLoader { onStart: function() { println("loading started ..."); } onDone: function() { scene.content = loader.content.getRoot(); } }; FXDLoader.loadOnBackground("{__DIR__}content.fxz", loader); // starts loading
-
Parameters
- url
- The URL from which the content should be loaded
- loader
- The loader to be used to load the content. The value can be null.
-
Returns
- FXDLoader
- FXDLoader The loader used to load the content
Profile: common
Function Summary
- protected createLoadContext() : com.sun.javafx.tools.fxd.LoadContext
- protected getContainerEntry(ctx: com.sun.javafx.tools.fxd.LoadContext) : com.sun.javafx.tools.fxd.container.ContainerEntry
- public start() : Void
- public stop() : Void
Inherited Functions
javafx.async.Task
- public abstract start() : Void
-
Initiates execution of this task.
Initiates execution of this task. Calling this function will either queue this task for future execution or start execution. The execution of the task happens on a thread other than the JavaFX event dispatch thread. The onStart function may not be called before this function returns. This function is expected to be called a maximum of once per instance of Task.
See Also:
onStartProfile: common
- public abstract stop() : Void
-
Terminates execution of this task.
Terminates execution of this task. Calling this function will either remove this task from the execution queue or stop execution. Subsequent calls to this function have no effect. The onDone function will be called as a result of calling this function, if it is non-null. The onDone function may not be called before this function returns. This function is expected to be called a maximum of once per instance of Task.
Profile: common