java.lang.Object
javafx.fxml.FXMLLoader
public class FXMLLoader extends Object
Loads an object hierarchy from an XML document.
For more information, see the
Introduction to FXML
document.
- Since:
- JavaFX 2.0
-
Field Summary
Fields Modifier and Type Field Description static String
ARRAY_COMPONENT_DELIMITER
Delimiter for arrays as values.static String
BI_DIRECTIONAL_BINDING_PREFIX
Prefix for bidirectional-binding expression resolution.static String
BI_DIRECTIONAL_BINDING_SUFFIX
Suffix for bidirectional-binding expression resolution.static String
BINDING_EXPRESSION_PREFIX
Prefix for binding expression resolution.static String
BINDING_EXPRESSION_SUFFIX
Suffix for binding expression resolution.static String
CHANGE_EVENT_HANDLER_SUFFIX
Suffix for property change/invalidation handlers.static String
COMPILE_PROCESSING_INSTRUCTION
The tag name of the compile processing instruction.static String
CONTROLLER_KEYWORD
A key for controller in namespace map.static String
CONTROLLER_METHOD_PREFIX
Prefix for controller method resolution.static String
CONTROLLER_SUFFIX
A suffix for controllers of included fxml files.static String
COPY_SOURCE_ATTRIBUTE
The <fx:copy> 'source' attribute.static String
COPY_TAG
The tag name of <fx:copy>.static String
DEFAULT_CHARSET_NAME
The character set used when character set is not explicitly specified.static String
DEFINE_TAG
The tag name of <fx:define>.static String
ESCAPE_PREFIX
Escape prefix for escaping special characters inside attribute values.static String
EVENT_HANDLER_PREFIX
The prefix of event handler attributes.static String
EVENT_KEY
The name of the Event object in event handler scripts.static String
EXPRESSION_PREFIX
Prefix for (variable) expression resolution.static String
FX_CONSTANT_ATTRIBUTE
The tag name of 'fx:constant'.static String
FX_CONTROLLER_ATTRIBUTE
The name of fx:controller attribute of a root.static String
FX_FACTORY_ATTRIBUTE
The name of 'fx:factory' attribute.static String
FX_ID_ATTRIBUTE
The name of fx:id attribute.static String
FX_NAMESPACE_PREFIX
Prefix of 'fx' namespace.static String
FX_NAMESPACE_VERSION
Contains the current fx namepsace version.static String
FX_VALUE_ATTRIBUTE
The name of fx:value attribute.static String
IMPORT_PROCESSING_INSTRUCTION
The tag name of import processing instruction.static String
INCLUDE_CHARSET_ATTRIBUTE
The <fx:include> 'charset' attribute.static String
INCLUDE_RESOURCES_ATTRIBUTE
The <fx:include> 'resources' attribute.static String
INCLUDE_SOURCE_ATTRIBUTE
The <fx:include> 'source' attribute.static String
INCLUDE_TAG
The tag name of <fx:include>.static String
INITIALIZE_METHOD_NAME
The name of initialize method.static String
JAVAFX_VERSION
Contains the current javafx version.static String
LANGUAGE_PROCESSING_INSTRUCTION
The tag name of language processing instruction.static String
LOCATION_KEY
A key for location URL in namespace map.static String
NULL_KEYWORD
Value that represents 'null'.static String
REFERENCE_SOURCE_ATTRIBUTE
The <fx:reference> 'source' attribute.static String
REFERENCE_TAG
The tag name of <fx:reference>.static String
RELATIVE_PATH_PREFIX
Prefix for relative location resolution.static String
RESOURCE_KEY_PREFIX
Prefix for resource resolution.static String
RESOURCES_KEY
A key for ResourceBundle in namespace map.static String
ROOT_TAG
The tag name of <fx:root>.static String
ROOT_TYPE_ATTRIBUTE
The <fx:root> 'type' attribute.static String
SCRIPT_CHARSET_ATTRIBUTE
The <fx:script> 'charset' attribute.static String
SCRIPT_SOURCE_ATTRIBUTE
The <fx:script> 'source' attribute.static String
SCRIPT_TAG
The tag name of <fx:script>. -
Constructor Summary
Constructors Constructor Description FXMLLoader()
Creates 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 Type Method Description boolean
equals(Object obj)
BuilderFactory
getBuilderFactory()
Returns the builder factory used by this loader.Charset
getCharset()
Returns the character set used by this loader.ClassLoader
getClassLoader()
Returns the classloader used by this loader.<T> T
getController()
Returns the controller associated with the root object.Callback<Class<?>,Object>
getControllerFactory()
Returns the controller factory used by this loader.static ClassLoader
getDefaultClassLoader()
Returns the default class loader.LoadListener
getLoadListener()
Returns this loader's load listener.URL
getLocation()
Returns the location used to resolve relative path attribute values.ObservableMap<String,Object>
getNamespace()
Returns the namespace used by this loader.ResourceBundle
getResources()
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
load(URL location)
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<?>
loadType(String className)
Deprecated.static Class<?>
loadType(String packageName, String className)
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.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
setRoot(Object root)
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:
- Constant Field Values
-
LANGUAGE_PROCESSING_INSTRUCTION
The tag name of language processing instruction.- See Also:
- Constant Field Values
-
IMPORT_PROCESSING_INSTRUCTION
The tag name of import processing instruction.- See Also:
- Constant Field Values
-
COMPILE_PROCESSING_INSTRUCTION
The tag name of the compile processing instruction.- Since:
- 15
- See Also:
- Constant Field Values
-
FX_NAMESPACE_PREFIX
Prefix of 'fx' namespace.- See Also:
- Constant Field Values
-
FX_CONTROLLER_ATTRIBUTE
The name of fx:controller attribute of a root.- See Also:
- Constant Field Values
-
FX_ID_ATTRIBUTE
The name of fx:id attribute.- See Also:
- Constant Field Values
-
FX_VALUE_ATTRIBUTE
The name of fx:value attribute.- See Also:
- Constant Field Values
-
FX_CONSTANT_ATTRIBUTE
The tag name of 'fx:constant'.- Since:
- JavaFX 2.2
- See Also:
- Constant Field Values
-
FX_FACTORY_ATTRIBUTE
The name of 'fx:factory' attribute.- See Also:
- Constant Field Values
-
INCLUDE_TAG
The tag name of <fx:include>.- See Also:
- Constant Field Values
-
INCLUDE_SOURCE_ATTRIBUTE
The <fx:include> 'source' attribute.- See Also:
- Constant Field Values
-
INCLUDE_RESOURCES_ATTRIBUTE
The <fx:include> 'resources' attribute.- See Also:
- Constant Field Values
-
INCLUDE_CHARSET_ATTRIBUTE
The <fx:include> 'charset' attribute.- See Also:
- Constant Field Values
-
SCRIPT_TAG
The tag name of <fx:script>.- See Also:
- Constant Field Values
-
SCRIPT_SOURCE_ATTRIBUTE
The <fx:script> 'source' attribute.- See Also:
- Constant Field Values
-
SCRIPT_CHARSET_ATTRIBUTE
The <fx:script> 'charset' attribute.- See Also:
- Constant Field Values
-
DEFINE_TAG
The tag name of <fx:define>.- See Also:
- Constant Field Values
-
REFERENCE_TAG
The tag name of <fx:reference>.- See Also:
- Constant Field Values
-
REFERENCE_SOURCE_ATTRIBUTE
The <fx:reference> 'source' attribute.- See Also:
- Constant Field Values
-
ROOT_TAG
The tag name of <fx:root>.- Since:
- JavaFX 2.2
- See Also:
- Constant Field Values
-
ROOT_TYPE_ATTRIBUTE
The <fx:root> 'type' attribute.- Since:
- JavaFX 2.2
- See Also:
- Constant Field Values
-
COPY_TAG
The tag name of <fx:copy>.- See Also:
- Constant Field Values
-
COPY_SOURCE_ATTRIBUTE
The <fx:copy> 'source' attribute.- See Also:
- Constant Field Values
-
EVENT_HANDLER_PREFIX
The prefix of event handler attributes.- See Also:
- Constant Field Values
-
EVENT_KEY
The name of the Event object in event handler scripts.- See Also:
- Constant Field Values
-
CHANGE_EVENT_HANDLER_SUFFIX
Suffix for property change/invalidation handlers.- See Also:
- Constant Field Values
-
NULL_KEYWORD
Value that represents 'null'.- See Also:
- Constant Field Values
-
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:
- Constant Field Values
-
RELATIVE_PATH_PREFIX
Prefix for relative location resolution.- See Also:
- Constant Field Values
-
RESOURCE_KEY_PREFIX
Prefix for resource resolution.- See Also:
- Constant Field Values
-
EXPRESSION_PREFIX
Prefix for (variable) expression resolution.- See Also:
- Constant Field Values
-
BINDING_EXPRESSION_PREFIX
Prefix for binding expression resolution.- See Also:
- Constant Field Values
-
BINDING_EXPRESSION_SUFFIX
Suffix for binding expression resolution.- See Also:
- Constant Field Values
-
BI_DIRECTIONAL_BINDING_PREFIX
Prefix for bidirectional-binding expression resolution.- Since:
- JavaFX 2.1
- See Also:
- Constant Field Values
-
BI_DIRECTIONAL_BINDING_SUFFIX
Suffix for bidirectional-binding expression resolution.- Since:
- JavaFX 2.1
- See Also:
- Constant Field Values
-
ARRAY_COMPONENT_DELIMITER
Delimiter for arrays as values.- Since:
- JavaFX 2.1
- See Also:
- Constant Field Values
-
LOCATION_KEY
A key for location URL in namespace map.- Since:
- JavaFX 2.2
- See Also:
getNamespace()
, Constant Field Values
-
RESOURCES_KEY
A key for ResourceBundle in namespace map.- Since:
- JavaFX 2.2
- See Also:
getNamespace()
, Constant Field Values
-
CONTROLLER_METHOD_PREFIX
Prefix for controller method resolution.- See Also:
- Constant Field Values
-
CONTROLLER_KEYWORD
A key for controller in namespace map.- Since:
- JavaFX 2.1
- See Also:
getNamespace()
, Constant Field Values
-
CONTROLLER_SUFFIX
A suffix for controllers of included fxml files. The full key is stored in namespace map.- Since:
- JavaFX 2.2
- See Also:
getNamespace()
, Constant Field Values
-
INITIALIZE_METHOD_NAME
The name of initialize method.- Since:
- JavaFX 2.2
- See Also:
- Constant Field Values
-
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:
- Constant Field Values
-
-
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
-
equals
-
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 ClassNotFoundExceptionDeprecated.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 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 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()
.