JavaFX Combining Utility和透明舞台风格

时间:2016-04-06 14:14:58

标签: java swing javafx transparent taskbar

我想要一个没有出现在任务栏中的JavaFX应用程序,也没有窗口装饰,我怎样才能实现这一点,任何想法?

编辑:

我试过这个:

Is it possible to have a transparent utility stage in javafx?

它运行正常,但图形非常糟糕,所以这在我看来并不是一个好方法。坏图形是由于JFXPanel内部无效的抗锯齿造成的.JFXPanel似乎被窃听。

2 个答案:

答案 0 :(得分:1)

您可以通过以下方式装饰您的(主要)stage

 StageStyle.DECORATED - a stage with a solid white background and platform decorations.
 StageStyle.UNDECORATED - a stage with a solid white background and no decorations.
 StageStyle.TRANSPARENT - a stage with a transparent background and no decorations.
 StageStyle.UTILITY - a stage with a solid white background and minimal platform decorations.

要获得结果,您需要使用方法initStyle(StageStyle style)

答案 1 :(得分:1)

使用JavaFX无法做到这一点,但我找到了一个使用Swing的解决方法。只需创建一个JFrame并将其Type设置为Type.UTILITY并将Undercorated设置为true。然后创建一个嵌入FX场景的JFXPanel。

JFrame frame = new JFrame();
frame.setType( Type.UTILITY );
frame.setUndecorated( true );
final JFXPanel mainJFXPanel = new JFXPanel();
frame.getContentPane().add( mainJFXPanel );

mainJFXPanel.setScene( getScene() ); //The "getScene()" is just a placeholder