如何在按钮内设置文本以删除JavaFX中的阴影

时间:2015-02-07 12:56:58

标签: button text fonts javafx shadow

所以我在控制器中有一个自定义按钮类,我想制作将在按钮里面放置阴影的字体。我试过使用-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;" ); 
    }

1 个答案:

答案 0 :(得分:2)

您可以使用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);