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:
    • LANGUAGE_PROCESSING_INSTRUCTION

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      public static final String NULL_KEYWORD
      Value that represents 'null'.
      See Also:
    • 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:
    • RELATIVE_PATH_PREFIX

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

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

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

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

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

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

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

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

      public static final String LOCATION_KEY
      A key for location URL in namespace map.
      Since:
      JavaFX 2.2
      See Also:
    • RESOURCES_KEY

      public static final String RESOURCES_KEY
      A key for ResourceBundle in namespace map.
      Since:
      JavaFX 2.2
      See Also:
    • CONTROLLER_METHOD_PREFIX

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

      public static final String CONTROLLER_KEYWORD
      A key for controller in namespace map.
      Since:
      JavaFX 2.1
      See Also:
    • 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:
    • INITIALIZE_METHOD_NAME

      public static final String INITIALIZE_METHOD_NAME
      The name of initialize method.
      Since:
      JavaFX 2.2
      See Also:
    • 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:
  • 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