JavaFX Effects - Lighting(Distant Source)

On applying this effect to a node, a light is simulated on it, as if it is being generated by a distant light source.

Distant Light Source − A source which is at a far distance from the node. In here, the light is attenuated in one direction from the source.

Distant Light Source

The class named Light.Distant of the package javafx.scene.effect represents the distant light source. This class contains two properties, which include −

  • azimuth − This property is of the type double and it represents the azimuth of the light.

  • elevation − This property is of the type double and it represents the elevation of the light.


The following program is an example demonstrating the lighting effect of JavaFX. In this, the source of light is a distant source. Here, we are drawing a text “Welcome to Tutorialspoint” and a circle in a scene.

To these, we are applying the lighting effect, where the light is being emitted by a distant source.

Save this code in a file with the name

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.effect.Light;
import javafx.scene.effect.Lighting; 
import javafx.scene.paint.Color; 
import javafx.scene.shape.Circle; 
import javafx.stage.Stage; 
import javafx.scene.text.Font; 
import javafx.scene.text.FontWeight; 
import javafx.scene.text.Text; 
public class DistantLightingExample extends Application { 
   public void start(Stage stage) {  
      //Creating a Text object 
      Text text = new Text();       
      //Setting font to the text 
      text.setFont(Font.font(null, FontWeight.BOLD, 40));       
      //setting the position of the text 
      //Setting the text to be embedded. 
      text.setText("Welcome to Tutorialspoint");       
      //Setting the color of the text 
      //Drawing a Circle 
      Circle circle = new Circle();         
      //Setting the center of the circle 
      //Setting the radius of the circle 
      //setting the fill color of the circle 
      //Instantiating the Light.Distant class
      Light.Distant light = new Light.Distant(); 
      //Setting the properties of the light source 
      //Instantiating the Lighting class  
      Lighting lighting = new Lighting(); 
      //Setting the source of the light 
      //Applying the lighting effect to the text 
      //Applying the lighting effect to the circle 
      //Creating a Group object  
      Group root = new Group(text,circle);   
      //Creating a scene object 
      Scene scene = new Scene(root, 600, 300);  
      //Setting title to the Stage 
      stage.setTitle("Distant light effect example"); 
      //Adding scene to the stage 
      //Displaying the contents of the stage;         
   public static void main(String args[]){ 

Compile and execute the saved java file from the command prompt using the following commands.

java DistantLightingExample    

On executing, the above program generates a JavaFX window as shown below.

Distant Light Source Example.jpg