Package javafx.scene

Class LightBase

java.lang.Object
javafx.scene.Node
javafx.scene.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
  • Property Details

  • Constructor Details

    • 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 Details

    • 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
    • colorProperty

      public final ObjectProperty<Color> colorProperty()
      Specifies the color of light source.
      Default value:
      null
      See Also:
      getColor(), setColor(Color)
    • 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
    • lightOnProperty

      public final BooleanProperty lightOnProperty()
      Defines the light on or off.
      Default value:
      true
      See Also:
      isLightOn(), setLightOn(boolean)
    • 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()