Module javafx.fxml
Package javafx.fxml

Class FXMLLoader

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 Details

    • DEFAULT_CHARSET_NAME

      public static final String DEFAULT_CHARSET_NAME
      The character set used when character set is not explicitly specified.
      See Also:
      Constant Field Values
    • LANGUAGE_PROCESSING_INSTRUCTION

      public static final String LANGUAGE_PROCESSING_INSTRUCTION
      The tag name of language processing instruction.
      See Also:
      Constant Field Values
    • IMPORT_PROCESSING_INSTRUCTION

      public static final String IMPORT_PROCESSING_INSTRUCTION
      The tag name of import processing instruction.
      See Also:
      Constant Field Values
    • COMPILE_PROCESSING_INSTRUCTION

      public static final String COMPILE_PROCESSING_INSTRUCTION
      The tag name of the compile processing instruction.
      Since:
      15
      See Also:
      Constant Field Values
    • FX_NAMESPACE_PREFIX

      public static final String FX_NAMESPACE_PREFIX
      Prefix of 'fx' namespace.
      See Also:
      Constant Field Values
    • FX_CONTROLLER_ATTRIBUTE

      public static final String FX_CONTROLLER_ATTRIBUTE
      The name of fx:controller attribute of a root.
      See Also:
      Constant Field Values
    • FX_ID_ATTRIBUTE

      public static final String FX_ID_ATTRIBUTE
      The name of fx:id attribute.
      See Also:
      Constant Field Values
    • FX_VALUE_ATTRIBUTE

      public static final String FX_VALUE_ATTRIBUTE
      The name of fx:value attribute.
      See Also:
      Constant Field Values
    • FX_CONSTANT_ATTRIBUTE

      public static final String FX_CONSTANT_ATTRIBUTE
      The tag name of 'fx:constant'.
      Since:
      JavaFX 2.2
      See Also:
      Constant Field Values
    • FX_FACTORY_ATTRIBUTE

      public static final String FX_FACTORY_ATTRIBUTE
      The name of 'fx:factory' attribute.
      See Also:
      Constant Field Values
    • INCLUDE_TAG

      public static final String INCLUDE_TAG
      The tag name of <fx:include>.
      See Also:
      Constant Field Values
    • INCLUDE_SOURCE_ATTRIBUTE

      public static final String INCLUDE_SOURCE_ATTRIBUTE
      The <fx:include> 'source' attribute.
      See Also:
      Constant Field Values
    • INCLUDE_RESOURCES_ATTRIBUTE

      public static final String INCLUDE_RESOURCES_ATTRIBUTE
      The <fx:include> 'resources' attribute.
      See Also:
      Constant Field Values
    • INCLUDE_CHARSET_ATTRIBUTE

      public static final String INCLUDE_CHARSET_ATTRIBUTE
      The <fx:include> 'charset' attribute.
      See Also:
      Constant Field Values
    • SCRIPT_TAG

      public static final String SCRIPT_TAG
      The tag name of <fx:script>.
      See Also:
      Constant Field Values
    • SCRIPT_SOURCE_ATTRIBUTE

      public static final String SCRIPT_SOURCE_ATTRIBUTE
      The <fx:script> 'source' attribute.
      See Also:
      Constant Field Values
    • SCRIPT_CHARSET_ATTRIBUTE

      public static final String SCRIPT_CHARSET_ATTRIBUTE
      The <fx:script> 'charset' attribute.
      See Also:
      Constant Field Values
    • DEFINE_TAG

      public static final String DEFINE_TAG
      The tag name of <fx:define>.
      See Also:
      Constant Field Values
    • REFERENCE_TAG

      public static final String REFERENCE_TAG
      The tag name of <fx:reference>.
      See Also:
      Constant Field Values
    • REFERENCE_SOURCE_ATTRIBUTE

      public static final String REFERENCE_SOURCE_ATTRIBUTE
      The <fx:reference> 'source' attribute.
      See Also:
      Constant Field Values
    • ROOT_TAG

      public static final String ROOT_TAG
      The tag name of <fx:root>.
      Since:
      JavaFX 2.2
      See Also:
      Constant Field Values
    • ROOT_TYPE_ATTRIBUTE

      public static final String ROOT_TYPE_ATTRIBUTE
      The <fx:root> 'type' attribute.
      Since:
      JavaFX 2.2
      See Also:
      Constant Field Values
    • COPY_TAG

      public static final String COPY_TAG
      The tag name of <fx:copy>.
      See Also:
      Constant Field Values
    • COPY_SOURCE_ATTRIBUTE

      public static final String COPY_SOURCE_ATTRIBUTE
      The <fx:copy> 'source' attribute.
      See Also:
      Constant Field Values
    • EVENT_HANDLER_PREFIX

      public static final String EVENT_HANDLER_PREFIX
      The prefix of event handler attributes.
      See Also:
      Constant Field Values
    • EVENT_KEY

      public static final String EVENT_KEY
      The name of the Event object in event handler scripts.
      See Also:
      Constant Field Values
    • CHANGE_EVENT_HANDLER_SUFFIX

      public static final String CHANGE_EVENT_HANDLER_SUFFIX
      Suffix for property change/invalidation handlers.
      See Also:
      Constant Field Values
    • NULL_KEYWORD

      public static final String NULL_KEYWORD
      Value that represents 'null'.
      See Also:
      Constant Field Values
    • ESCAPE_PREFIX

      public static final String ESCAPE_PREFIX
      Escape prefix for escaping special characters inside attribute values. Serves as an escape for ESCAPE_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

      public static final String RELATIVE_PATH_PREFIX
      Prefix for relative location resolution.
      See Also:
      Constant Field Values
    • RESOURCE_KEY_PREFIX

      public static final String RESOURCE_KEY_PREFIX
      Prefix for resource resolution.
      See Also:
      Constant Field Values
    • EXPRESSION_PREFIX

      public static final String EXPRESSION_PREFIX
      Prefix for (variable) expression resolution.
      See Also:
      Constant Field Values
    • BINDING_EXPRESSION_PREFIX

      public static final String BINDING_EXPRESSION_PREFIX
      Prefix for binding expression resolution.
      See Also:
      Constant Field Values
    • BINDING_EXPRESSION_SUFFIX

      public static final String BINDING_EXPRESSION_SUFFIX
      Suffix for binding expression resolution.
      See Also:
      Constant Field Values
    • BI_DIRECTIONAL_BINDING_PREFIX

      public static final String BI_DIRECTIONAL_BINDING_PREFIX
      Prefix for bidirectional-binding expression resolution.
      Since:
      JavaFX 2.1
      See Also:
      Constant Field Values
    • BI_DIRECTIONAL_BINDING_SUFFIX

      public static final String BI_DIRECTIONAL_BINDING_SUFFIX
      Suffix for bidirectional-binding expression resolution.
      Since:
      JavaFX 2.1
      See Also:
      Constant Field Values
    • ARRAY_COMPONENT_DELIMITER

      public static final String ARRAY_COMPONENT_DELIMITER
      Delimiter for arrays as values.
      Since:
      JavaFX 2.1
      See Also:
      Constant Field Values
    • LOCATION_KEY

      public static final String LOCATION_KEY
      A key for location URL in namespace map.
      Since:
      JavaFX 2.2
      See Also:
      getNamespace(), Constant Field Values
    • RESOURCES_KEY

      public static final String RESOURCES_KEY
      A key for ResourceBundle in namespace map.
      Since:
      JavaFX 2.2
      See Also:
      getNamespace(), Constant Field Values
    • CONTROLLER_METHOD_PREFIX

      public static final String CONTROLLER_METHOD_PREFIX
      Prefix for controller method resolution.
      See Also:
      Constant Field Values
    • CONTROLLER_KEYWORD

      public static final String CONTROLLER_KEYWORD
      A key for controller in namespace map.
      Since:
      JavaFX 2.1
      See Also:
      getNamespace(), Constant Field Values
    • CONTROLLER_SUFFIX

      public static final String 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

      public static final String INITIALIZE_METHOD_NAME
      The name of initialize method.
      Since:
      JavaFX 2.2
      See Also:
      Constant Field Values
    • JAVAFX_VERSION

      public static final String JAVAFX_VERSION
      Contains the current javafx version.
      Since:
      JavaFX 8.0
    • FX_NAMESPACE_VERSION

      public static final String 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

      public FXMLLoader​(URL location)
      Creates a new FXMLLoader instance.
      Parameters:
      location - the location used to resolve relative path attribute values
      Since:
      JavaFX 2.1
    • FXMLLoader

      public FXMLLoader​(URL location, ResourceBundle resources)
      Creates a new FXMLLoader instance.
      Parameters:
      location - the location used to resolve relative path attribute values
      resources - the resources used to resolve resource key attribute values
      Since:
      JavaFX 2.1
    • FXMLLoader

      public FXMLLoader​(URL location, ResourceBundle resources, BuilderFactory builderFactory)
      Creates a new FXMLLoader instance.
      Parameters:
      location - the location used to resolve relative path attribute values
      resources - resources used to resolve resource key attribute values
      builderFactory - 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 values
      resources - resources used to resolve resource key attribute values
      builderFactory - the builder factory used by this loader
      controllerFactory - the controller factory used by this loader
      Since:
      JavaFX 2.1
    • FXMLLoader

      public FXMLLoader​(Charset charset)
      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 values
      resources - resources used to resolve resource key attribute values
      builderFactory - the builder factory used by this loader
      controllerFactory - the controller factory used by this loader
      charset - 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 values
      resources - resources used to resolve resource key attribute values
      builderFactory - the builder factory used by this loader
      controllerFactory - the controller factory used by this loader
      charset - the character set used by this loader
      loaders - list of loaders
      Since:
      JavaFX 2.1
  • Method Details

    • getLocation

      public URL getLocation()
      Returns the location used to resolve relative path attribute values.
      Returns:
      the location used to resolve relative path attribute values
    • setLocation

      public void setLocation​(URL location)
      Sets the location used to resolve relative path attribute values.
      Parameters:
      location - the location
    • getResources

      public ResourceBundle getResources()
      Returns the resources used to resolve resource key attribute values.
      Returns:
      the resources used to resolve resource key attribute values
    • setResources

      public void setResources​(ResourceBundle resources)
      Sets the resources used to resolve resource key attribute values.
      Parameters:
      resources - the resources
    • getNamespace

      public ObservableMap<String,​Object> 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

      public void setRoot​(Object root)
      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

      public void setController​(Object controller)
      Sets the controller associated with the root object. The value passed to this method is used as the value of the fx:controller attribute. This method must be called prior to loading the document when using controller event handlers when an fx:controller attribute is not specified in the document.
      Parameters:
      controller - the controller to associate with the root object
      Since:
      JavaFX 2.2
    • getBuilderFactory

      public BuilderFactory getBuilderFactory()
      Returns the builder factory used by this loader.
      Returns:
      the builder factory
    • setBuilderFactory

      public void setBuilderFactory​(BuilderFactory builderFactory)
      Sets the builder factory used by this loader.
      Parameters:
      builderFactory - the builder factory
    • getControllerFactory

      public Callback<Class<?>,​Object> getControllerFactory()
      Returns the controller factory used by this loader.
      Returns:
      the controller factory
      Since:
      JavaFX 2.1
    • setControllerFactory

      public void setControllerFactory​(Callback<Class<?>,​Object> controllerFactory)
      Sets the controller factory used by this loader.
      Parameters:
      controllerFactory - the controller factory
      Since:
      JavaFX 2.1
    • getCharset

      public Charset getCharset()
      Returns the character set used by this loader.
      Returns:
      the character set
    • setCharset

      public void setCharset​(Charset charset)
      Sets the character set used by this loader.
      Parameters:
      charset - the character set
      Since:
      JavaFX 2.1
    • getClassLoader

      public ClassLoader getClassLoader()
      Returns the classloader used by this loader.
      Returns:
      the classloader
      Since:
      JavaFX 2.1
    • setClassLoader

      public void setClassLoader​(ClassLoader classLoader)
      Sets the classloader used by this loader and clears any existing imports.
      Parameters:
      classLoader - the classloader
      Since:
      JavaFX 2.1
    • getLoadListener

      public LoadListener getLoadListener()
      Returns this loader's load listener.
      Returns:
      the load listener
      Since:
      9
    • setLoadListener

      public final void setLoadListener​(LoadListener loadListener)
      Sets this loader's load listener.
      Parameters:
      loadListener - the load listener
      Since:
      9
    • load

      public <T> T load() throws IOException
      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 to setLocation(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

      public <T> T load​(InputStream inputStream) throws IOException
      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 to getDefaultClassLoader().
      Loads a type using the default class loader.
      Parameters:
      packageName - the package name of the class to load
      className - the name of the class to load
      Returns:
      the class
      Throws:
      ClassNotFoundException - if the specified class cannot be found
    • loadType

      @Deprecated public static Class<?> loadType​(String className) throws ClassNotFoundException
      Deprecated.
      This method now delegates to getDefaultClassLoader().
      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

      public static ClassLoader getDefaultClassLoader()
      Returns the default class loader.
      Returns:
      the default class loader
      Since:
      JavaFX 2.1
    • setDefaultClassLoader

      public static void setDefaultClassLoader​(ClassLoader defaultClassLoader)
      Sets the default class loader.
      Parameters:
      defaultClassLoader - The default class loader to use when loading classes.
      Since:
      JavaFX 2.1
    • load

      public static <T> T load​(URL location) 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 values
      Returns:
      the loaded object hierarchy
      Throws:
      IOException - if an error occurs during loading
    • load

      public static <T> T load​(URL location, ResourceBundle resources) 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 values
      resources - 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 values
      resources - the resources used to resolve resource key attribute values
      builderFactory - 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 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 values
      resources - the resources used to resolve resource key attribute values
      builderFactory - the builder factory used when loading the document
      controllerFactory - 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 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 values
      resources - the resources used to resolve resource key attribute values
      builderFactory - the builder factory used when loading the document
      controllerFactory - the controller factory used when loading the document
      charset - 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