【问题标题】:javafx transparent window background with decorationsjavafx 带装饰的透明窗口背景
【发布时间】:2014-06-27 21:54:27
【问题描述】:

我很难弄清楚如何在 javafx 中为应用程序窗口制作透明背景。 scene.setFill(null) 似乎只适用于 stage.initStyle(StageStyle.TRANSPARENT)setFill 的文档说

同时支持表示无背景绘制的空值和具有透明度的绘制,但其背后绘制的内容取决于平台。

但这对我来说没有意义。它仅适用于(在 Windows 8 上)StageStyle.TRANSPARENT,它删除了退出按钮以及我仍然想要的。

我查看了http://www.adam-bien.com/roller/abien/entry/completely_transparent_windows_stage_in 并在这里提出了一些问题。

这可以在 Windows 上完成吗?

【问题讨论】:

标签: java javafx-2


【解决方案1】:

我一直在修改类似的设置,这对我有用:

  @Override
   public void start(Stage primaryStage) throws Exception{
      Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));

      primaryStage.setTitle("Hello World");
      primaryStage.initStyle(StageStyle.TRANSPARENT);
      primaryStage.setOpacity(0.5);
      primaryStage.setFullScreen(true);
      Scene scene = new Scene(root, 300, 275);
      primaryStage.setScene(scene);
      scene.getStylesheets().add(Main.class.getResource("main.css")
            .toExternalForm());
      primaryStage.show();
}

...和css

.root {
    -fx-background-color: rgba(0,0,0,0.5); 
}

【讨论】:

  • 不过,他不想要TRANSPARENT 窗口。这就是问题
【解决方案2】:

您可以使用this 库。它是一个完全可定制的 JavaFx Stage (CustomStage)。您可以在此CustomStage Wiki 中查看有关如何使用它的详细说明

有,

  • 调整窗口大小
  • 默认操作按钮及其行为(关闭、最大化/恢复、最小化)
  • 窗口拖动
  • 根据屏幕分辨率自动缩放窗口
  • 反应灵敏
  • 可样式化
  • 可以做到透明
  • 具有内置导航窗格和抽屉

【讨论】:

    猜你喜欢
    • 2012-12-27
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2018-07-06
    相关资源
    最近更新 更多