Shadow类是JavaFX的一部分。Shadow类创建边缘模糊的单色阴影。阴影为黑色(默认情况下),可以与原始阴影组合以创建阴影。可以将不同颜色的阴影添加到“原始”中,以创建辉光效果。阴影类继承效果类。
null
类的构造函数:
- 影子() :创建一个新的阴影对象。
- 阴影(t型,c色,双r) :创建具有指定模糊类型、颜色和半径的新阴影对象。
- 阴影(双r,c色) :创建具有半径和颜色的新阴影对象。
常用方法:
方法 | 解释 |
---|---|
getBlurType() | 返回效果的模糊类型。 |
getColor() | 返回效果的颜色。 |
getInput() | 返回属性输入的值。 |
getRadius() | 返回阴影效果的半径。 |
B型(v型) | 设置阴影效果的模糊类型。 |
设置颜色(颜色v) | 设置阴影效果的颜色。 |
设置输入(效果v) | 设置属性输入的值。 |
设置半径(双v) | 设置阴影效果的半径。 |
下面的程序演示了Shadow类的使用:
- Java程序创建一个圆并向其添加阴影效果: 在这个程序中,我们将创建一个名为 圆圈 创造一个 阴影效果阴影 具有指定的半径和颜色。阴影效果将使用 setEffect() 函数和圆圈将被添加到组中。这些圆圈将被转换到舞台上的特定位置 setTranslateX() 和 setTranslateY() 作用团队将被添加到场景中,场景将被添加到舞台中。
// 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);
}
}
输出:
- Java程序创建四个圆并添加阴影效果(不同类型): 在这个程序中,我们将创建一个名为 圆圈 , 圆圈1 , 圆圈2 , 圆圈3 并创建一个名为 阴影1 , 阴影2 , 阴影3 , 阴影4 具有指定的半径、颜色和模糊类型。阴影效果将使用setEffect()函数添加到圆中,圆将添加到组中。这些圆圈将被转换到舞台上的特定位置 setTranslateX() 和 setTranslateY() 作用团队将被添加到场景中,场景将被添加到舞台中。
// 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);
}
}
输出:
注: 上述程序可能无法在联机IDE中运行。请使用脱机编译器。
参考: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/effect/Shadow.html
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END