La clase DropShadow es parte de JavaFX. La clase DropShadow crea un efecto de alto nivel que representa la sombra de un objeto detrás del contenido con el radio, la extensión, el tipo de desenfoque y el desplazamiento especificados. La clase DropShadow hereda la clase Effect .
Constructores de la clase:
- DropShadow() : Crea un nuevo objeto de DropShadow.
- DropShadow(BlurType blurType, Color color, double radius, double spread, double offsetX, double offsetY) : Crea un nuevo objeto de DropShadow con valores especificados blurType, radius, spread, offsetX, offsetY.
- DropShadow (doble radio, color de color) : crea un nuevo objeto de DropShadow con un valor especificado de radio y color.
- DropShadow (doble radio, doble desplazamiento X, doble desplazamiento Y, Color color) : crea un nuevo objeto de DropShadow con un valor especificado de radio, desplazamiento X, desplazamiento Y y color.
Métodos comúnmente utilizados:
Método | Explicación |
---|---|
getBlurType() | Devuelve el tipo de desenfoque del efecto. |
obtenerColor() | Devuelve el color del efecto. |
obtenerEntrada() | Devuelve el valor de la entrada de propiedad. |
obtenerRadio() | Devuelve el radio del efecto dropShadow. |
establecer Tipo de desenfoque (Tipo de desenfoque v) | Establece el tipo de desenfoque del efecto dropShadow. |
establecerColor(Color v) | Establece el Color del efecto DropShadow. |
setInput(Efecto v) | Establece el valor de la propiedad de entrada. |
establecerRadio(doble v) | Establece el Radio del efecto de sombra paralela. |
setOffsetX(doble v) | Establece el valor de offsetX. |
setOffsetY(doble v) | Establece el valor de offsetY. |
obtenerDesplazamientoX() | Devuelve el valor de offsetX. |
getOffsetY() | Devuelve el valor de offsetY. |
obtenerSpread() | Devuelve el valor de la dispersión del efecto Sombra paralela. |
setSpread(doble v) | Establece el valor de la dispersión del efecto Sombra paralela. |
Los siguientes programas ilustran el uso de la clase DropShadow:
- Programa Java para crear un círculo y agregarle el efecto DropShadow: en este programa crearemos un círculo llamado círculo y crearemos un efecto DropShadow drop_shadow con radio y color especificados. El efecto DropShadow se agregará al círculo usando la función setEffect() y el círculo se agregará al grupo. Los círculos se trasladarán a una posición específica en el escenario usando las funciones setTranslateX() y setTranslateY() . El grupo se agregará a la escena y la escena se agregará al escenario.
// Java program to create a Circle and
// add DropShadow effect to it
import
javafx.application.Application;
import
javafx.scene.Scene;
import
javafx.scene.control.*;
import
javafx.scene.layout.*;
import
javafx.stage.Stage;
import
javafx.scene.image.*;
import
javafx.scene.effect.*;
import
java.io.*;
import
javafx.scene.shape.Circle;
import
javafx.scene.paint.Color;
import
javafx.scene.Group;
public
class
drop_shadow_1
extends
Application {
// launch the application
public
void
start(Stage stage)
throws
Exception
{
// set title for the stage
stage.setTitle(
"drop_shadow example"
);
// create a circle
Circle circle =
new
Circle(
50
.0f,
50
.0f,
25
.0f);
// set fill for circle
circle.setFill(Color.BLUE);
// translate to a position
circle.setTranslateX(
50
.0f);
circle.setTranslateY(
50
.0f);
// create a drop_shadow effect
DropShadow drop_shadow =
new
DropShadow(
10
, Color.RED);
// set effect
circle.setEffect(drop_shadow);
// create a Group
Group group =
new
Group(circle);
// create a scene
Scene scene =
new
Scene(group,
200
,
200
);
// set the scene
stage.setScene(scene);
stage.show();
}
// Main Method
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
Producción:
- Programa Java para crear cuatro círculos y agregarle el efecto DropShadow, que son de diferentes tipos de desenfoque y diferentes valores de offsetX, offsetY y radio: En este programa crearemos círculos llamados circle , circle1 , circle2 , circle3 y crearemos efectos de DropShadow llamados drop_shadow1 , drop_shadow2 , drop_shadow3 , drop_shadow4 con radio, color, offsetX, offsetY, extensión y tipo de desenfoque especificados. El efecto DropShadow se agregará al círculo usando la función setEffect() y los círculos se agregarán al grupo. Los círculos se trasladarán a una posición específica en el escenario usandofunción setTranslateX() y setTranslateY() . El grupo se agregará a la escena y la escena se agregará al escenario.
// Java program to create four Circles and
// add DropShadow effect to it which are of
// different blur types and different values
// of offsetX, offsetY and radius
import
javafx.application.Application;
import
javafx.scene.Scene;
import
javafx.scene.control.*;
import
javafx.scene.layout.*;
import
javafx.stage.Stage;
import
javafx.scene.image.*;
import
javafx.scene.effect.*;
import
java.io.*;
import
javafx.scene.shape.Circle;
import
javafx.scene.paint.Color;
import
javafx.scene.Group;
public
class
drop_shadow_2
extends
Application {
// launch the application
public
void
start(Stage stage)
throws
Exception
{
// set title for the stage
stage.setTitle(
"drop_shadow example"
);
// create a circle
Circle circle =
new
Circle(
0
.0f,
0
.0f,
25
.0f, Color.RED);
Circle circle1 =
new
Circle(
0
.0f,
0
.0f,
25
.0f, Color.RED);
Circle circle2 =
new
Circle(
0
.0f,
0
.0f,
25
.0f, Color.RED);
Circle circle3 =
new
Circle(
0
.0f,
0
.0f,
25
.0f, Color.RED);
// translate to a position
circle.setTranslateX(
50
.0f);
circle.setTranslateY(
50
.0f);
// translate to a position
circle1.setTranslateX(
150
.0f);
circle1.setTranslateY(
50
.0f);
// translate to a position
circle2.setTranslateX(
50
.0f);
circle2.setTranslateY(
150
.0f);
// translate to a position
circle3.setTranslateX(
150
.0f);
circle3.setTranslateY(
150
.0f);
// create drop_shadow effect
DropShadow drop_shadow1 =
new
DropShadow(BlurType.values()[
0
],
Color.BLUE,
5
,
3
.0f,
2
.0f,
2
.0f);
DropShadow drop_shadow2 =
new
DropShadow(BlurType.values()[
1
],
Color.BLUE,
5
,
3
.0f,
3
.0f,
3
.0f);
DropShadow drop_shadow3 =
new
DropShadow(BlurType.values()[
2
],
Color.BLUE,
5
,
4
.0f,
3
.0f,
3
.0f);
DropShadow drop_shadow4 =
new
DropShadow(BlurType.values()[
3
],
Color.BLUE,
5
,
4
.0f,
2
.0f,
2
.0f);
// set effect
circle.setEffect(drop_shadow1);
circle1.setEffect(drop_shadow2);
circle2.setEffect(drop_shadow3);
circle3.setEffect(drop_shadow4);
// create a Group
Group group =
new
Group(circle, circle1, circle2, circle3);
// create a scene
Scene scene =
new
Scene(group,
400
,
400
);
// set the scene
stage.setScene(scene);
stage.show();
}
// Main Method
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
Producción:
Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea. Utilice un compilador fuera de línea.
Referencia: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/effect/DropShadow.html
Publicación traducida automáticamente
Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA