首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确使用布局的方法setEffect

问如何正确使用布局的方法setEffect
EN

Stack Overflow用户
提问于 2016-04-25 22:37:23
回答 1查看 342关注 0票数 0

我的简单应用程序有两个布局窗格。第一个是VBox窗格。它是根节点。第二个窗格是子窗格(窗格布局)。我只想在根窗格中使用DropShadow效果。我是根据文档来做的。不幸的是,我对两个窗格都有投影效果。对于根用户和子节点。它是一个bug,还是有一种方法可以只为一个窗格设置它?我尝试使用pane.setEffect( null ),但没有成功。当我向窗格添加一些子节点时,新节点也有阴影。

我使用JavaFX8 (Windows7- 64)。

谢谢。

代码语言:javascript
复制
public void start( Stage stage )
{
        VBox vbox = new VBox();
        vbox.setPadding( new Insets( 30 ) );

        BorderStrokeStyle style = new BorderStrokeStyle( StrokeType.INSIDE, StrokeLineJoin.MITER, StrokeLineCap.BUTT, 10, 0, null );
        BorderStroke stroke = new BorderStroke( Color.BLUE, style, CornerRadii.EMPTY, new BorderWidths( 1 ), null );
        vbox.setBorder( new Border( stroke ) );

        DropShadow dropShadow = new DropShadow();
        dropShadow.setOffsetX( 10 );
        dropShadow.setOffsetY( 10 );
        vbox.setEffect( dropShadow );

        Pane pane = new Pane();
        pane.setBorder( new Border( stroke ) );

        pane.setPrefWidth( 500 );
        pane.setPrefHeight( 500 );

        vbox.getChildren().add( pane );

        stage.setScene( new Scene( vbox ) );
        stage.show();
}

添加:

我正在尝试使用css: vbox.setStyle( "-fx- effect : dropshadow(高斯,灰度,10,0.6,10,10 );“);同样的狗屎-效果应用于两个窗格。((

EN

回答 1

Stack Overflow用户

发布于 2016-04-27 04:57:51

在这里,我试图回答我自己的问题。

我做了一些简单的调查,它看起来不是一个bug。它是为窗格提供真实行为的一种尝试。

如果窗格没有非透明背景-所有窗格的子窗格也应该有阴影(如果所有者窗格有阴影)。另一方面,如果窗格的背景是实心的,那么子窗格就不能有阴影。直到你特意放上阴影。

所以..。您只需要为窗格提供不透明的背景,以避免窗格的子形状和窗格的阴影。

当然,在文档中注意到这一点会很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36843697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档