另一个全屏应用程序上的JavaFX叠加

时间:2017-07-02 05:15:30

标签: java windows javafx

我创造了一个未装饰的透明舞台,总是在顶部标志 设置为true并希望将其用作游戏的叠加层。游戏处于窗口全屏模式,这是在Windows 10上。

当游戏窗口处于活动状态而游戏中没有JavaFX覆盖时,没有显示任务栏。但是只要我将JavaFX叠加放在游戏上,任务栏就会弹出。

我想知道是否有任何方法可以将此作为游戏的叠加层而不显示任务栏。

2 个答案:

答案 0 :(得分:1)

你可能能够达到你想要的效果(在全屏游戏中叠加)但不是你想要的方式(未装饰的透明舞台,总是在顶部标志设置为真)。

如果你想要类似于Steam或Fraps叠加层的东西,那么你必须实现一些dll注入。仅Java就不允许这样做,你必须使用C / C ++模块。

以下是Xfire's overlay works如何帮助您理解其背后的过程的一些解释。 此外,这里有一个DX9 overlay library可以帮助你,因为它包括一个Java包装器和一些例子。但请记住,它可能不适用于更新版本的DirectX和OpenGL,因此不适用于所有游戏,但仍可以帮助您作为示例。

答案 1 :(得分:0)

好,但并不总是有效的解决方案:

setAlwaysOnTop(true)

Google搜索 - > Swing - > JFrame - >总是在顶部等。全屏应用程序100%工作。 下一步 - >

SwingNode sn = new SwingNode();
JFrame jp = new JFrame();
sn.setContent(jp);

//next AnchorPane (JavaFX)
anchorPane.getChildren().add(swingNode);