当前位置: 首页 > 编程笔记 >

如何在JavaFX中的文本节点上添加阴影效果?

许茂才
2023-03-14
本文向大家介绍如何在JavaFX中的文本节点上添加阴影效果?,包括了如何在JavaFX中的文本节点上添加阴影效果?的使用技巧和注意事项,需要的朋友参考一下

您可以使用setEffect()方法将效果添加到JavaFX中的任何节点对象。此方法接受Effect类的对象,并将其添加到当前节点。

javafx.scene.effect.DropShadow类表示投影效果。此效果使用指定的参数(颜色,偏移量,半径)在其后呈现给定内容的阴影。

因此,要向文本节点添加阴影效果-

  • 实例化Text类,绕过基本的x,y坐标(位置)和文本字符串作为构造函数的参数。

  • 设置所需的属性,例如字体,笔画等。

  • 通过实例化 DropShadow类来创建阴影效果。

  • 使用setEffect() 方法将创建的效果设置为文本节点。

  • 最后,将创建的文本节点添加到Group对象。

示例

import java.io.FileNotFoundException;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.DropShadow;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
public class DropShadowEffectExample extends Application {
   public void start(Stage stage) throws FileNotFoundException {
      //创建一个文本对象
      String str = "Welcome to Nhooo";
      Text text = new Text(30.0, 80.0, str);
      //设置字体
      Font font = Font.font("Brush Script MT", FontWeight.BOLD, FontPosture.REGULAR, 65);
      text.setFont(font);
      //设置文字的颜色
      text.setFill(Color.BROWN);
      //设置笔触的宽度和颜色
      text.setStrokeWidth(2);
      text.setStroke(Color.BLUE);
      //为文本设置深阴影效果
      DropShadow shadow = new DropShadow();
      text.setEffect(shadow);
      //设置舞台
      Group root = new Group(text);
      Scene scene = new Scene(root, 595, 150, Color.BEIGE);
      stage.setTitle("Drop Shadow Effect");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

输出结果


 类似资料:
  • 本文向大家介绍如何在JavaFX中向文本节点添加内部阴影效果?,包括了如何在JavaFX中向文本节点添加内部阴影效果?的使用技巧和注意事项,需要的朋友参考一下 现场演示 -> 输出结果

  • 我创建了一个CircularImageView并提出了以下问题:在android中创建圆形图像视图 在GitHub上下载项目 1)这是CircularImageView类: 您可以使用或下载我的GitHub库CircularImageView,并通过使用gradle dependency进行所有修复:

  • 我正在尝试构建一个在JavaFX中实现群聊的聊天应用程序。我想在边框窗格内创建一个滚动窗格,该窗格将包含用户所属的所有组。当用户加入时,需要将组图标(ImageViews)动态添加(在场景生成器中无法完成)到滚动窗格(在HBox内)。 目前,我正在使用一个SceneController类,该类负责所有阶段和场景更改。 我已经创建了一个FXML文件(使用场景生成器),其中包含一个边框窗格和一个滚动窗

  • 问题内容: 我创建了一个可以旋转的框,单击该框可以执行一些操作。 我遇到的问题是, 例如,在此框的所有面上都显示文本。正面1个,顶部2个,背面3个,底部4个, 左侧5个,右侧6个。 我知道StackPane可用于在 多维数据集的顶部覆盖一个文本框,但在这种情况下我认为这真的没有帮助。由于box 本质上是一个预先构造的TriangleMesh,可以这样做吗?就目前而言 ,box没有任何内置功能可以执

  • 主要活动。xml 这是一张圆形的照片。xml: 我尝试了一些阴影效果的代码,但它不起作用。

  • 我想在文本域中添加一些提示文本,如“姓名”或“姓氏”。我像这样创建textfield,但我找不到如何做到这一点。在这里,我只是在JavaFX文本字段中发现了这个清晰的提示文本,只有当用户开始输入时,但我不敢相信这是唯一的方法。还是我错了?