2017-07-02 67 views
0

我創建了一個未裝飾的透明舞臺,並且總是在最高標誌 中設置爲true,並且希望將其用作遊戲的疊加層。遊戲處於窗口全屏模式,這是在Windows 10上。另一個全屏應用程序中的JavaFX覆蓋

當遊戲窗口在沒有JavaFX覆蓋遊戲的情況下處於活動狀態時,不會顯示任務欄。但是,只要我將JavaFX疊加在遊戲上,任務欄就會彈出。

我想知道是否有任何方法可以在沒有任務欄顯示的情況下將它用作遊戲的疊加層。

回答

1

您可能能夠達到您想要的效果(覆蓋全屏遊戲),但不是您嘗試的方式(永遠在頂部標誌設置爲真的未裝飾透明舞臺)。

如果你想要類似於Steam或Fraps覆蓋圖的東西,那麼你必須實施一些dll注入。 Java本身不允許你這樣做,你必須爲它使用一個C/C++模塊。

下面是Xfire's overlay works的一些解釋,以幫助您瞭解背後的過程。 此外,這是一個DX9 overlay library可以幫助你,因爲它包括一個Java包裝和一些例子。但請記住,它可能不適用於更新版本的DirectX和OpenGL,因此不適用於所有遊戲,但仍可以作爲示例幫助您。

0

好,但並不總是工作液:

setAlwaysOnTop(true) 

谷歌搜索 - >鞦韆 - > JFrame的 - >總在最前等上全屏幕應用程序的工作100%。 Next action - >

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

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

用戶詢問JavaFX,對不對?那麼,你爲什麼要提供擺動解決方案? – Martin

+0

我補充了爲什麼在後 –