📜  JavaFX Effects(1)

📅  最后修改于: 2023-12-03 15:31:35.686000             🧑  作者: Mango

JavaFX Effects

JavaFX Effects 是一种强大的工具,它允许开发人员对图形界面进行深度定制和简化操作。JavaFX Effects 属于 JavaFX API 包的一部分。

特性

JavaFX Effects 提供了多种视觉效果,包括:

  • Bloom(泛光效果)
  • BoxBlur(模糊效果)
  • DropShadow(阴影效果)
  • GaussianBlur(高斯模糊效果)
  • InnerShadow(内阴影效果)
  • Lighting(照明效果)
  • MotionBlur(动态模糊效果)
  • Reflection(反射效果)

这些视觉效果可作为 CSS 样式属性应用于 JavaFX 节点中。

示例

以下是一段使用 JavaFX Effects 实现 DropShadow 和 Reflection 效果的代码示例:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.effect.DropShadow;
import javafx.scene.effect.Reflection;
import javafx.scene.layout.StackPane;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class JavaFXEffectsDemo extends Application {
    public void start(Stage primaryStage) {
        Text text = new Text("Hello JavaFX Effects!");
        text.setFont(Font.font(36));

        DropShadow dropShadow = new DropShadow();
        dropShadow.setRadius(5.0);
        dropShadow.setOffsetX(3.0);
        dropShadow.setOffsetY(3.0);
        dropShadow.setColor(Color.color(0.4, 0.4, 0.4));

        Reflection reflection = new Reflection();
        reflection.setFraction(0.8);
        reflection.setTopOffset(30);

        text.setEffect(dropShadow);
        text.setEffect(reflection);

        StackPane root = new StackPane();
        root.getChildren().add(text);

        Scene scene = new Scene(root, 400, 300);
        primaryStage.setTitle("JavaFX Effects Demo");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

此代码演示如何初始化 DropShadow 和 Reflection 对象,并将它们分别应用于文本节点。运行该应用程序,可以在屏幕上显示一个带有阴影和倒影效果的 Hello JavaFX Effects! 文本。

结论

JavaFX Effects 提供了许多用于根据用户的喜好和需求自定义图形界面的功能。无论是为了让界面看起来更丰富,还是为了使该界面的特定元素更突出,此 API 包都提供了必要的工具。