Effets JavaFX - DropShadow

Lors de l'application de cet effet à un nœud, une ombre sera créée derrière le nœud spécifié.

La classe nommée DropShadow du forfait javafx.scene.effectreprésente l'effet d'ombre portée. Cette classe contient neuf propriétés, qui sont -

  • color - Cette propriété est de type Couleur représentant la couleur de l'ombre.

  • blur type - Cette propriété est du type - BlurType et représente le type d'effet de flou utilisé pour brouiller l'ombre.

  • radius - Cette propriété est du type double et représente le rayon du noyau de flou d'ombre.

  • width - Cette propriété est du type double et représente la largeur du noyau de flou d'ombre.

  • height - Cette propriété est du type double et représente la hauteur du noyau de flou d'ombre.

  • input - Cette propriété est du type Effet et représente une entrée pour l'effet d'ombre.

  • spread- Cette propriété est du type double; il représente la propagation de l'ombre.

  • offsetX - Cette propriété est du type double et représente le décalage de l'ombre dans la direction x en pixels.

  • offset - Cette propriété est du type double et représente le décalage de l'ombre dans la direction y en pixels.

Exemple

Le programme suivant est un exemple illustrant l'effet d'ombre portée de JavaFX. Ici, nous dessinons un texte «Welcome to Tutorialspoint» et un cercle dans une scène.

À ceux-ci, nous appliquons l'effet d'ombre portée. Enregistrez ce code dans un fichier avec le nomDropShadowEffectExample.java.

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.effect.BlurType; 
import javafx.scene.effect.DropShadow; 
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 DropShadowEffectExample extends Application {
   @Override 
   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 
      text.setX(60); 
      text.setY(50);  
      
      //Setting the text to be embedded.  
      text.setText("Welcome to Tutorialspoint");        
      
      //Setting the color of the text 
      text.setFill(Color.DARKSEAGREEN);       
       
      //Drawing a Circle 
      Circle circle = new Circle();         
      
      //Setting the centre of the circle 
      circle.setCenterX(300.0f); 
      circle.setCenterY(160.0f); 
      
      //Setting the radius of the circle 
      circle.setRadius(100.0f); 
       
      //Instantiating the Shadow class 
      DropShadow dropShadow = new DropShadow(); 
      
      //setting the type of blur for the shadow 
      dropShadow.setBlurType(BlurType.GAUSSIAN); 
      
      //Setting color for the shadow 
      dropShadow.setColor(Color.ROSYBROWN); 
      
      //Setting the height of the shadow
      dropShadow.setHeight(5); 
      
      //Setting the width of the shadow 
      dropShadow.setWidth(5); 
      
      //Setting the radius of the shadow 
      dropShadow.setRadius(5); 
      
      //setting the offset of the shadow 
      dropShadow.setOffsetX(3); 
      dropShadow.setOffsetY(2); 
      
      //Setting the spread of the shadow 
      dropShadow.setSpread(12);  
      
      //Applying shadow effect to the text 
      text.setEffect(dropShadow);      
      
      //Applying shadow effect to the circle 
      circle.setEffect(dropShadow); 
          
      //Creating a Group object   
      Group root = new Group(circle, text);   
               
      //Creating a scene object 
      Scene scene = new Scene(root, 600, 300);  
      
      //Setting title to the Stage 
      stage.setTitle("Drop Shadow effect example"); 
         
      //Adding scene to the stage 
      stage.setScene(scene); 
         
      //Displaying the contents of the stage 
      stage.show();         
   } 
   public static void main(String args[]){ 
      launch(args);
   } 
}

Compilez et exécutez le fichier java enregistré à partir de l'invite de commande à l'aide des commandes suivantes.

javac DropShadowEffectExample.java 
java DropShadowEffectExample

Lors de l'exécution, le programme ci-dessus génère une fenêtre JavaFX comme indiqué ci-dessous.