如何在按钮内设置文本以在 JavaFX 中放置阴影

How to set a text inside a button to drop the shadow in JavaFX

所以我在控制器中有一个自定义按钮 class,我想制作将在按钮内部的字体以放置阴影。我试过使用-fx-stroke,但它似乎没有任何改变。我想使用的按钮将在程序期间生成。我不熟悉 CSS 所以我只是举了一些例子。现在我有了这个

mineButton(int x, int y,boolean difficult){ 
        this.x=x;
        this.y=y;
        Font s = new Font(13);
        if (difficult){
            this.setMaxSize(35, 35);
            this.setMinSize(20, 20);
            this.setPrefSize(20, 20);
            this.setFont(new Font(8));
        } else {
            this.setMaxSize(35,35);
            this.setMinSize(33,33);
            this.setPrefSize(34,34);
        }
        this.setStyle("-fx-background-color: -fx-outer-border,       
        -fx-inner-border, -fx-body-color;\n" +
                "    -fx-background-insets: 0, 1, 2;" +
                "    -fx-background-radius: 5, 4, 3;" + 
                " -fx-text-fill: white; -fx-font-weight: bold;" ); 
    }

您可以使用 setGraphic 方法更改 Button 内节点的外观。

这是一个文档,其中包含有关如何操作的示例:Using JavaFX UI Controls - Button

然后您可以将 CSS 应用到您的自定义节点。

示例:

Button button = new Button();
Label label = new Label("Click Me!");
label.setStyle("-fx-effect: dropshadow( one-pass-box , black , 8 , 0.0 , 2 , 0 )");
button.setGraphic(label);