相关疑难解决方法(0)

JavaFX对后台的影响

我正在使用来制作一个带有磨砂玻璃效果的iOS主题JavaFX2(Java7)应用程序.问题是此代码使用它对ImageView的影响.我希望它对窗口后面的任何东西使用它的效果,如下所示:

反正有吗?我也喜欢你在上面的图像周围看到的小阴影效果.

为了清楚起见,我不想要那个滑块或任何东西,只是能够透过窗户看到边缘周围有轻微阴影的效果.不过,我想用这个iOS7-ish效果代替航空.

这可能很重要:我正在使用Undecorator的修改版本.

java user-interface javafx blur dropshadow

23
推荐指数
2
解决办法
2万
查看次数

如何创建仅在边框上具有阴影的JavaFX透明舞台?

我已经阅读了很多关于透明度和阴影的问题,但我认为我没有看到这个具体问题.

我能够成功创建一个既有透明度又有阴影的窗口,但我无法弄清楚如何使颜色阴影不影响透明度颜色.

例如,以下代码创建一个灰色透明度和红色阴影的窗口.但是,红色也会影响主窗口的透明度,但我只希望阴影延伸到窗口的边框之外.

所以我得到的是:

在此输入图像描述

但我想要的是:(手动编辑图像)

在此输入图像描述

关于如何做到这一点的任何想法?

我的测试代码:

@Override
public void start(Stage stage) throws Exception {
    stage.initStyle(StageStyle.TRANSPARENT);

    StackPane stackPane = new StackPane();

    stackPane.setStyle(
        "-fx-background-color: rgba(255, 255, 255, 0.5);" +
        "-fx-effect: dropshadow(gaussian, red, 50, 0, 0, 0);" +
        "-fx-background-insets: 50;"
    );

    Scene scene = new Scene(stackPane, 450, 450);
    scene.setFill(Color.TRANSPARENT);

    stage.setScene(scene);

    stage.show();
}
Run Code Online (Sandbox Code Playgroud)

javafx

10
推荐指数
1
解决办法
2万
查看次数

JavaFX模糊整个窗口

我试图在我的应用程序中实现类似模式popus的东西.为了使它们更清晰,我决定模糊整个窗口并将popus放在它前面.

问题是JavaFX模糊在应用于整个窗口时会产生伪影:

ALT

注意一个白色边框 - 它不应该存在.


我的代码是:

public void enableBlur() {
    ColorAdjust adj = new ColorAdjust(0, -0.9, -0.5, 0);
    GaussianBlur blur = new GaussianBlur(55); // 55 is just to show edge effect more clearly.
    adj.setInput(blur)
    rootPanel.setEffect(adj);
}
Run Code Online (Sandbox Code Playgroud)

因此效果将应用于根内容面板.


PS的问题是不是重复这个,因为我认为,提供的解决方案来自同一个边缘效应受到影响,但由于形式的内容是不是太黑暗这里也不是那么清晰可见.

java javafx javafx-8

4
推荐指数
1
解决办法
2404
查看次数

具有动态背景 JavaFX 的磨砂玻璃效果

我正在开发一个 JavaFX 应用程序:

https://i.stack.imgur.com/Q24i4.png

在这里,我希望左窗格具有模糊背景效果,即,当用户滚动地图时,左窗格后面的内容会发生变化,并且我想使用该内容(模糊)作为左侧的背景窗格。我几乎已经完成了。

每当我滚动地图时,它都会工作,并且后面的内容会更新,但在系统监视器中我可以看到 CPU 使用率、温度和总体功耗急剧上升。

为了实现霜玻璃效果,我在 webEngine(包含地图)中添加了一个事件监听器(用于检测鼠标移动):

Document doc = webEngine.getDocument();
((EventTarget) doc).addEventListener("mousemove", listener, false);
Run Code Online (Sandbox Code Playgroud)

监听器执行一个方法:

  1. 检索左窗格(地图)下方的实际内容。

  2. 模糊图像。

  3. 更新屏幕

为了更新屏幕,该方法删除左窗格(VBox)和上一个图像(这是背景)。然后再次首先添加模糊图像窗格,然后将左窗格添加到根窗格。

所以,我认为我遇到性能问题的原因是,当用户拖动地图时,它必须非常快速地删除窗格(左窗格和背景图像)并将其添加到根窗格。

问题:CPU 使用率非常高

那么,JavaFX 中是否还有其他方法,不需要如此高的 CPU 使用率?

类似的东西,不需要一直删除和添加窗格。

cpu javafx blur panes effect

3
推荐指数
1
解决办法
4458
查看次数

标签 统计

javafx ×4

blur ×2

java ×2

cpu ×1

dropshadow ×1

effect ×1

javafx-8 ×1

panes ×1

user-interface ×1