java.lang.Object
javafx.fxml.FXMLLoader
Loads an object hierarchy from an XML document.
For more information, see the
Introduction to FXML
document.
- Since:
- JavaFX 2.0
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Delimiter for arrays as values.static final String
Prefix for bidirectional-binding expression resolution.static final String
Suffix for bidirectional-binding expression resolution.static final String
Prefix for binding expression resolution.static final String
Suffix for binding expression resolution.static final String
Suffix for property change/invalidation handlers.static final String
The tag name of the compile processing instruction.static final String
A key for controller in namespace map.static final String
Prefix for controller method resolution.static final String
A suffix for controllers of included fxml files.static final String
The <fx:copy> 'source' attribute.static final String
The tag name of <fx:copy>.static final String
The character set used when character set is not explicitly specified.static final String
The tag name of <fx:define>.static final String
Escape prefix for escaping special characters inside attribute values.static final String
The prefix of event handler attributes.static final String
The name of the Event object in event handler scripts.static final String
Prefix for (variable) expression resolution.static final String
The tag name of 'fx:constant'.static final String
The name of fx:controller attribute of a root.static final String
The name of 'fx:factory' attribute.static final String
The name of fx:id attribute.static final String
Prefix of 'fx' namespace.static final String
Contains the current fx namepsace version.static final String
The name of fx:value attribute.static final String
The tag name of import processing instruction.static final String
The <fx:include> 'charset' attribute.static final String
The <fx:include> 'resources' attribute.static final String
The <fx:include> 'source' attribute.static final String
The tag name of <fx:include>.static final String
The name of initialize method.static final String
Contains the current javafx version.static final String
The tag name of language processing instruction.static final String
A key for location URL in namespace map.static final String
Value that represents 'null'.static final String
The <fx:reference> 'source' attribute.static final String
The tag name of <fx:reference>.static final String
Prefix for relative location resolution.static final String
Prefix for resource resolution.static final String
A key for ResourceBundle in namespace map.static final String
The tag name of <fx:root>.static final String
The <fx:root> 'type' attribute.static final String
The <fx:script> 'charset' attribute.static final String
The <fx:script> 'source' attribute.static final String
The tag name of <fx:script>. -
Constructor Summary
ConstructorDescriptionCreates a new FXMLLoader instance.FXMLLoader
(URL location) Creates a new FXMLLoader instance.FXMLLoader
(URL location, ResourceBundle resources) Creates a new FXMLLoader instance.FXMLLoader
(URL location, ResourceBundle resources, BuilderFactory builderFactory) Creates a new FXMLLoader instance.FXMLLoader
(URL location, ResourceBundle resources, BuilderFactory builderFactory, Callback<Class<?>, Object> controllerFactory) Creates a new FXMLLoader instance.FXMLLoader
(URL location, ResourceBundle resources, BuilderFactory builderFactory, Callback<Class<?>, Object> controllerFactory, Charset charset) Creates a new FXMLLoader instance.FXMLLoader
(URL location, ResourceBundle resources, BuilderFactory builderFactory, Callback<Class<?>, Object> controllerFactory, Charset charset, LinkedList<FXMLLoader> loaders) Creates a new FXMLLoader instance.FXMLLoader
(Charset charset) Creates a new FXMLLoader instance. -
Method Summary
Modifier and TypeMethodDescriptionReturns the builder factory used by this loader.Returns the character set used by this loader.Returns the classloader used by this loader.<T> T
Returns the controller associated with the root object.Returns the controller factory used by this loader.static ClassLoader
Returns the default class loader.Returns this loader's load listener.Returns the location used to resolve relative path attribute values.Returns the namespace used by this loader.Returns the resources used to resolve resource key attribute values.<T> T
getRoot()
Returns the root of the object hierarchy.<T> T
load()
Loads an object hierarchy from a FXML document.<T> T
load
(InputStream inputStream) Loads an object hierarchy from a FXML document.static <T> T
Loads an object hierarchy from a FXML document.static <T> T
load
(URL location, ResourceBundle resources) Loads an object hierarchy from a FXML document.static <T> T
load
(URL location, ResourceBundle resources, BuilderFactory builderFactory) Loads an object hierarchy from a FXML document.static <T> T
load
(URL location, ResourceBundle resources, BuilderFactory builderFactory, Callback<Class<?>, Object> controllerFactory) Loads an object hierarchy from a FXML document.static <T> T
load
(URL location, ResourceBundle resources, BuilderFactory builderFactory, Callback<Class<?>, Object> controllerFactory, Charset charset) Loads an object hierarchy from a FXML document.static Class<?>
Deprecated.static Class<?>
Deprecated.This method now delegates togetDefaultClassLoader()
.void
setBuilderFactory
(BuilderFactory builderFactory) Sets the builder factory used by this loader.void
setCharset
(Charset charset) Sets the character set used by this loader.void
setClassLoader
(ClassLoader classLoader) Sets the classloader used by this loader and clears any existing imports.void
setController
(Object controller) Sets the controller associated with the root object.void
setControllerFactory
(Callback<Class<?>, Object> controllerFactory) Sets the controller factory used by this loader.static void
setDefaultClassLoader
(ClassLoader defaultClassLoader) Sets the default class loader.final void
setLoadListener
(LoadListener loadListener) Sets this loader's load listener.void
setLocation
(URL location) Sets the location used to resolve relative path attribute values.void
setResources
(ResourceBundle resources) Sets the resources used to resolve resource key attribute values.void
Sets the root of the object hierarchy.
-
Field Details
-
DEFAULT_CHARSET_NAME
The character set used when character set is not explicitly specified.- See Also:
-
LANGUAGE_PROCESSING_INSTRUCTION
The tag name of language processing instruction.- See Also:
-
IMPORT_PROCESSING_INSTRUCTION
The tag name of import processing instruction.- See Also:
-
COMPILE_PROCESSING_INSTRUCTION
The tag name of the compile processing instruction.- Since:
- 15
- See Also:
-
FX_NAMESPACE_PREFIX
Prefix of 'fx' namespace.- See Also:
-
FX_CONTROLLER_ATTRIBUTE
The name of fx:controller attribute of a root.- See Also:
-
FX_ID_ATTRIBUTE
The name of fx:id attribute.- See Also:
-
FX_VALUE_ATTRIBUTE
The name of fx:value attribute.- See Also:
-
FX_CONSTANT_ATTRIBUTE
The tag name of 'fx:constant'.- Since:
- JavaFX 2.2
- See Also:
-
FX_FACTORY_ATTRIBUTE
The name of 'fx:factory' attribute.- See Also:
-
INCLUDE_TAG
The tag name of <fx:include>.- See Also:
-
INCLUDE_SOURCE_ATTRIBUTE
The <fx:include> 'source' attribute.- See Also:
-
INCLUDE_RESOURCES_ATTRIBUTE
The <fx:include> 'resources' attribute.- See Also:
-
INCLUDE_CHARSET_ATTRIBUTE
The <fx:include> 'charset' attribute.- See Also:
-
SCRIPT_TAG
The tag name of <fx:script>.- See Also:
-
SCRIPT_SOURCE_ATTRIBUTE
The <fx:script> 'source' attribute.- See Also:
-
SCRIPT_CHARSET_ATTRIBUTE
The <fx:script> 'charset' attribute.- See Also:
-
DEFINE_TAG
The tag name of <fx:define>.- See Also:
-
REFERENCE_TAG
The tag name of <fx:reference>.- See Also:
-
REFERENCE_SOURCE_ATTRIBUTE
The <fx:reference> 'source' attribute.- See Also:
-
ROOT_TAG
The tag name of <fx:root>.- Since:
- JavaFX 2.2
- See Also:
-
ROOT_TYPE_ATTRIBUTE
The <fx:root> 'type' attribute.- Since:
- JavaFX 2.2
- See Also:
-
COPY_TAG
The tag name of <fx:copy>.- See Also:
-
COPY_SOURCE_ATTRIBUTE
The <fx:copy> 'source' attribute.- See Also:
-
EVENT_HANDLER_PREFIX
The prefix of event handler attributes.- See Also:
-
EVENT_KEY
The name of the Event object in event handler scripts.- See Also:
-
CHANGE_EVENT_HANDLER_SUFFIX
Suffix for property change/invalidation handlers.- See Also:
-
NULL_KEYWORD
Value that represents 'null'.- See Also:
-
ESCAPE_PREFIX
Escape prefix for escaping special characters inside attribute values. Serves as an escape forESCAPE_PREFIX
,RELATIVE_PATH_PREFIX
,RESOURCE_KEY_PREFIX
,EXPRESSION_PREFIX
,BI_DIRECTIONAL_BINDING_PREFIX
- Since:
- JavaFX 2.1
- See Also:
-
RELATIVE_PATH_PREFIX
Prefix for relative location resolution.- See Also:
-
RESOURCE_KEY_PREFIX
Prefix for resource resolution.- See Also:
-
EXPRESSION_PREFIX
Prefix for (variable) expression resolution.- See Also:
-
BINDING_EXPRESSION_PREFIX
Prefix for binding expression resolution.- See Also:
-
BINDING_EXPRESSION_SUFFIX
Suffix for binding expression resolution.- See Also:
-
BI_DIRECTIONAL_BINDING_PREFIX
Prefix for bidirectional-binding expression resolution.- Since:
- JavaFX 2.1
- See Also:
-
BI_DIRECTIONAL_BINDING_SUFFIX
Suffix for bidirectional-binding expression resolution.- Since:
- JavaFX 2.1
- See Also:
-
ARRAY_COMPONENT_DELIMITER
Delimiter for arrays as values.- Since:
- JavaFX 2.1
- See Also:
-
LOCATION_KEY
A key for location URL in namespace map.- Since:
- JavaFX 2.2
- See Also:
-
RESOURCES_KEY
A key for ResourceBundle in namespace map.- Since:
- JavaFX 2.2
- See Also:
-
CONTROLLER_METHOD_PREFIX
Prefix for controller method resolution.- See Also:
-
CONTROLLER_KEYWORD
A key for controller in namespace map.- Since:
- JavaFX 2.1
- See Also:
-
CONTROLLER_SUFFIX
A suffix for controllers of included fxml files. The full key is stored in namespace map.- Since:
- JavaFX 2.2
- See Also:
-
INITIALIZE_METHOD_NAME
The name of initialize method.- Since:
- JavaFX 2.2
- See Also:
-
JAVAFX_VERSION
Contains the current javafx version.- Since:
- JavaFX 8.0
-
FX_NAMESPACE_VERSION
Contains the current fx namepsace version.- Since:
- JavaFX 8.0
- See Also:
-
-
Constructor Details
-
FXMLLoader
public FXMLLoader()Creates a new FXMLLoader instance. -
FXMLLoader
Creates a new FXMLLoader instance.- Parameters:
location
- the location used to resolve relative path attribute values- Since:
- JavaFX 2.1
-
FXMLLoader
Creates a new FXMLLoader instance.- Parameters:
location
- the location used to resolve relative path attribute valuesresources
- the resources used to resolve resource key attribute values- Since:
- JavaFX 2.1
-
FXMLLoader
Creates a new FXMLLoader instance.- Parameters:
location
- the location used to resolve relative path attribute valuesresources
- resources used to resolve resource key attribute valuesbuilderFactory
- the builder factory used by this loader- Since:
- JavaFX 2.1
-
FXMLLoader
public FXMLLoader(URL location, ResourceBundle resources, BuilderFactory builderFactory, Callback<Class<?>, Object> controllerFactory) Creates a new FXMLLoader instance.- Parameters:
location
- the location used to resolve relative path attribute valuesresources
- resources used to resolve resource key attribute valuesbuilderFactory
- the builder factory used by this loadercontrollerFactory
- the controller factory used by this loader- Since:
- JavaFX 2.1
-
FXMLLoader
Creates a new FXMLLoader instance.- Parameters:
charset
- the character set used by this loader
-
FXMLLoader
public FXMLLoader(URL location, ResourceBundle resources, BuilderFactory builderFactory, Callback<Class<?>, Object> controllerFactory, Charset charset) Creates a new FXMLLoader instance.- Parameters:
location
- the location used to resolve relative path attribute valuesresources
- resources used to resolve resource key attribute valuesbuilderFactory
- the builder factory used by this loadercontrollerFactory
- the controller factory used by this loadercharset
- the character set used by this loader- Since:
- JavaFX 2.1
-
FXMLLoader
public FXMLLoader(URL location, ResourceBundle resources, BuilderFactory builderFactory, Callback<Class<?>, Object> controllerFactory, Charset charset, LinkedList<FXMLLoader> loaders) Creates a new FXMLLoader instance.- Parameters:
location
- the location used to resolve relative path attribute valuesresources
- resources used to resolve resource key attribute valuesbuilderFactory
- the builder factory used by this loadercontrollerFactory
- the controller factory used by this loadercharset
- the character set used by this loaderloaders
- list of loaders- Since:
- JavaFX 2.1
-
-
Method Details
-
getLocation
Returns the location used to resolve relative path attribute values.- Returns:
- the location used to resolve relative path attribute values
-
setLocation
Sets the location used to resolve relative path attribute values.- Parameters:
location
- the location
-
getResources
Returns the resources used to resolve resource key attribute values.- Returns:
- the resources used to resolve resource key attribute values
-
setResources
Sets the resources used to resolve resource key attribute values.- Parameters:
resources
- the resources
-
getNamespace
Returns the namespace used by this loader.- Returns:
- the namespace
-
getRoot
public <T> T getRoot()Returns the root of the object hierarchy.- Type Parameters:
T
- the type of the root object- Returns:
- the root of the object hierarchy
-
setRoot
Sets the root of the object hierarchy. The value passed to this method is used as the value of the<fx:root>
tag. This method must be called prior to loading the document when using<fx:root>
.- Parameters:
root
- the root of the object hierarchy- Since:
- JavaFX 2.2
-
getController
public <T> T getController()Returns the controller associated with the root object.- Type Parameters:
T
- the type of the controller- Returns:
- the controller associated with the root object
-
setController
Sets the controller associated with the root object. The value passed to this method is used as the value of thefx:controller
attribute. This method must be called prior to loading the document when using controller event handlers when anfx:controller
attribute is not specified in the document.- Parameters:
controller
- the controller to associate with the root object- Since:
- JavaFX 2.2
-
getBuilderFactory
Returns the builder factory used by this loader.- Returns:
- the builder factory
-
setBuilderFactory
Sets the builder factory used by this loader.- Parameters:
builderFactory
- the builder factory
-
getControllerFactory
Returns the controller factory used by this loader.- Returns:
- the controller factory
- Since:
- JavaFX 2.1
-
setControllerFactory
Sets the controller factory used by this loader.- Parameters:
controllerFactory
- the controller factory- Since:
- JavaFX 2.1
-
getCharset
Returns the character set used by this loader.- Returns:
- the character set
-
setCharset
Sets the character set used by this loader.- Parameters:
charset
- the character set- Since:
- JavaFX 2.1
-
getClassLoader
Returns the classloader used by this loader.- Returns:
- the classloader
- Since:
- JavaFX 2.1
-
setClassLoader
Sets the classloader used by this loader and clears any existing imports.- Parameters:
classLoader
- the classloader- Since:
- JavaFX 2.1
-
getLoadListener
Returns this loader's load listener.- Returns:
- the load listener
- Since:
- 9
-
setLoadListener
Sets this loader's load listener.- Parameters:
loadListener
- the load listener- Since:
- 9
-
load
Loads an object hierarchy from a FXML document. The location from which the document will be loaded must have been set by a prior call tosetLocation(URL)
.- Type Parameters:
T
- the type of the root object- Returns:
- the loaded object hierarchy
- Throws:
IOException
- if an error occurs during loading- Since:
- JavaFX 2.1
-
load
Loads an object hierarchy from a FXML document.- Type Parameters:
T
- the type of the root object- Parameters:
inputStream
- an input stream containing the FXML data to load- Returns:
- the loaded object hierarchy
- Throws:
IOException
- if an error occurs during loading
-
loadType
@Deprecated public static Class<?> loadType(String packageName, String className) throws ClassNotFoundException Deprecated.This method now delegates togetDefaultClassLoader()
.Loads a type using the default class loader.- Parameters:
packageName
- the package name of the class to loadclassName
- the name of the class to load- Returns:
- the class
- Throws:
ClassNotFoundException
- if the specified class cannot be found
-
loadType
Deprecated.This method now delegates togetDefaultClassLoader()
.Loads a type using the default class loader.- Parameters:
className
- the name of the class to load- Returns:
- the class
- Throws:
ClassNotFoundException
- if the specified class cannot be found
-
getDefaultClassLoader
Returns the default class loader.- Returns:
- the default class loader
- Since:
- JavaFX 2.1
-
setDefaultClassLoader
Sets the default class loader.- Parameters:
defaultClassLoader
- The default class loader to use when loading classes.- Since:
- JavaFX 2.1
-
load
Loads an object hierarchy from a FXML document.- Type Parameters:
T
- the type of the root object- Parameters:
location
- the location used to resolve relative path attribute values- Returns:
- the loaded object hierarchy
- Throws:
IOException
- if an error occurs during loading
-
load
Loads an object hierarchy from a FXML document.- Type Parameters:
T
- the type of the root object- Parameters:
location
- the location used to resolve relative path attribute valuesresources
- the resources used to resolve resource key attribute values- Returns:
- the loaded object hierarchy
- Throws:
IOException
- if an error occurs during loading
-
load
public static <T> T load(URL location, ResourceBundle resources, BuilderFactory builderFactory) throws IOException Loads an object hierarchy from a FXML document.- Type Parameters:
T
- the type of the root object- Parameters:
location
- the location used to resolve relative path attribute valuesresources
- the resources used to resolve resource key attribute valuesbuilderFactory
- the builder factory used to load the document- Returns:
- the loaded object hierarchy
- Throws:
IOException
- if an error occurs during loading
-
load
public static <T> T load(URL location, ResourceBundle resources, BuilderFactory builderFactory, Callback<Class<?>, Object> controllerFactory) throws IOExceptionLoads an object hierarchy from a FXML document.- Type Parameters:
T
- the type of the root object- Parameters:
location
- the location used to resolve relative path attribute valuesresources
- the resources used to resolve resource key attribute valuesbuilderFactory
- the builder factory used when loading the documentcontrollerFactory
- the controller factory used when loading the document- Returns:
- the loaded object hierarchy
- Throws:
IOException
- if an error occurs during loading- Since:
- JavaFX 2.1
-
load
public static <T> T load(URL location, ResourceBundle resources, BuilderFactory builderFactory, Callback<Class<?>, Object> controllerFactory, Charset charset) throws IOExceptionLoads an object hierarchy from a FXML document.- Type Parameters:
T
- the type of the root object- Parameters:
location
- the location used to resolve relative path attribute valuesresources
- the resources used to resolve resource key attribute valuesbuilderFactory
- the builder factory used when loading the documentcontrollerFactory
- the controller factory used when loading the documentcharset
- the character set used when loading the document- Returns:
- the loaded object hierarchy
- Throws:
IOException
- if an error occurs during loading- Since:
- JavaFX 2.1
-
getDefaultClassLoader()
.