Package javafx.scene

Class LightBase

  • All Implemented Interfaces:
    Styleable, EventTarget
    Direct Known Subclasses:
    AmbientLight, PointLight

    public abstract class LightBase
    extends Node
    The LightBase class provides definitions of common properties for objects that represent a form of light source. These properties include:
    • color - the color of the light source
    • scope - a list of nodes the light source affects
    • exlusionScope - a list of nodes the light source does not affect

    A node can exist in only one of the lists, if it is added to one, it is silently removed from the other. If a node does not exist in any list, it inherits its affected state from its parent, recursively. An exception to this is that a light with an empty scope affects all nodes in its scene/subscene implicitly (except for those in its exlusionScope) as if the root of the scene is in the scope.
    The exlusionScope is useful only for nodes that would otherwise be in scope of the light. Excluding a node is a convenient alternative to traversing the scenegraph hierarchy and adding all of the other nodes to the light's scope. Instead, the scope can remain wide and specific nodes can be excluded.

    Note that this is a conditional feature. See ConditionalFeature.SCENE3D for more information.

    An application should not extend the LightBase class directly. Doing so may lead to an UnsupportedOperationException being thrown.

    Since:
    JavaFX 8.0
    • Constructor Detail

      • LightBase

        protected LightBase()
        Creates a new instance of LightBase class with a default Color.WHITE light source.
      • LightBase

        protected LightBase​(Color color)
        Creates a new instance of LightBase class using the specified color.
        Parameters:
        color - the color of the light source
    • Method Detail

      • setColor

        public final void setColor​(Color value)
        Sets the value of the property color.
        Property description:
        Specifies the color of light source.
        Default value:
        null
      • getColor

        public final Color getColor()
        Gets the value of the property color.
        Property description:
        Specifies the color of light source.
        Default value:
        null
      • setLightOn

        public final void setLightOn​(boolean value)
        Sets the value of the property lightOn.
        Property description:
        Defines the light on or off.
        Default value:
        true
      • isLightOn

        public final boolean isLightOn()
        Gets the value of the property lightOn.
        Property description:
        Defines the light on or off.
        Default value:
        true
      • getScope

        public ObservableList<Node> getScope()
        Gets the list of nodes that specifies the hierarchical scope of this light. Any Shape3Ds in this list or under a Parent in this list are affected by this light, unless a closer parent exists in the exclusionScope list. If the list is empty, all nodes under the light's scene/subscene are affected by it (unless they are in the exclusionScope).
        Returns:
        the list of nodes that specifies the hierarchical scope of this light
        See Also:
        getExclusionScope()
      • getExclusionScope

        public ObservableList<Node> getExclusionScope()
        Gets the list of nodes that specifies the hierarchical exclusion scope of this light. Any Shape3Ds in this list or under a Parent in this list are not affected by this light, unless a closer parent exists in the scope list.
        This is a convenience list for excluding nodes that would otherwise be in scope of the light.
        Returns:
        the list of nodes that specifies the hierarchical exclusion scope of this light
        Since:
        13
        See Also:
        getScope()