La clase Shadow es parte de JavaFX. La clase Shadow crea una sombra monocromática con bordes borrosos. La Sombra es de Color negro (por defecto) y se puede combinar con la original para crear una sombra. La Sombra de diferentes colores se puede agregar con el original para crear un efecto de Resplandor. La clase Shadow hereda la clase Effect.
Constructores de la clase:
- Shadow() : Crea un nuevo objeto Shadow.
- Shadow(BlurType t, Color c, double r) : crea un nuevo objeto de sombra con el tipo de desenfoque, el color y el radio especificados.
- Sombra (doble r, Color c) : crea un nuevo objeto de sombra con radio 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 Sombra. |
establecer Tipo de desenfoque (Tipo de desenfoque v) | Establece el tipo de desenfoque del efecto Sombra. |
establecerColor(Color v) | Establece el efecto Color de la sombra. |
setInput(Efecto v) | Establece el valor de la propiedad de entrada. |
establecerRadio(doble v) | Establece el Radio del efecto de sombra. |
Los siguientes programas ilustran el uso de la clase Shadow:
- Programa Java para crear un círculo y agregarle un efecto de sombra: en este programa crearemos un círculo llamado círculo y crearemos una sombra con efecto de sombra con un radio y color especificados. El efecto de sombra 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 Shadow 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
shadow_1
extends
Application {
// launch the application
public
void
start(Stage stage)
throws
Exception
{
// set title for the stage
stage.setTitle(
"shadow example"
);
// create a circle
Circle circle =
new
Circle(
50
.0f,
50
.0f,
25
.0f);
// translate to a position
circle.setTranslateX(
50
.0f);
circle.setTranslateY(
50
.0f);
// create a shadow effect
Shadow shadow =
new
Shadow(
10
, Color.RED);
// set effect
circle.setEffect(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 un efecto de sombra (de diferente tipo de desenfoque): en este programa crearemos un círculo llamado círculo , círculo1 , círculo2 , círculo3 y crearemos efectos de sombra llamados sombra1 , sombra2 , sombra3 , sombra4 con radio especificado , color y tipo de desenfoque. El efecto de sombra 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 usando setTranslateX() y setTranslateY()función. El grupo se agregará a la escena y la escena se agregará al escenario.
// Java program to create four Circles and add Shadow
// effect to it which are of different BlurType
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
shadow_2
extends
Application {
// launch the application
public
void
start(Stage stage)
throws
Exception
{
// set title for the stage
stage.setTitle(
"shadow example"
);
// create a circle
Circle circle =
new
Circle(
0
.0f,
0
.0f,
25
.0f);
Circle circle1 =
new
Circle(
0
.0f,
0
.0f,
25
.0f);
Circle circle2 =
new
Circle(
0
.0f,
0
.0f,
25
.0f);
Circle circle3 =
new
Circle(
0
.0f,
0
.0f,
25
.0f);
// 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 shadow effect
Shadow shadow1 =
new
Shadow(BlurType.values()[
0
], Color.BLUE,
10
);
Shadow shadow2 =
new
Shadow(BlurType.values()[
1
], Color.BLUE,
10
);
Shadow shadow3 =
new
Shadow(BlurType.values()[
2
], Color.BLUE,
10
);
Shadow shadow4 =
new
Shadow(BlurType.values()[
3
], Color.BLUE,
10
);
// set effect
circle.setEffect(shadow1);
circle1.setEffect(shadow2);
circle2.setEffect(shadow3);
circle3.setEffect(shadow4);
// create a Group
Group group =
new
Group(circle, circle1, circle2, circle3);
// 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:
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/Shadow.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