JavaFX - 用于定义StageStyle的css文件在哪里或如何更改?

时间:2014-12-10 15:09:54

标签: css javafx window

问题:

  

我实际上在JavaFX中实现了一些前端应用程序。那里   我们正在使用几个窗口。在某些情况下窗户的设计   必须像我们想要的那样进行调整。这意味着它需要一个特定的图标,   标题的颜色和替换标准的给定图像   用于调整大小,最小化和关闭窗口的按钮。所以   我必须调整窗口的整个标题。

我有什么:

  

设置新图标没有问题,但其余的适应性引导   问题。在我的研究中,我发现,有可能   在我的程序中使用以下方法定义StageStyle:

     

primaryStage.initStyle(StageStyle.DECORATED);

可能的解决方案:

  

我知道我的问题的一个可能的解决方案是设置   StageStyle on Undecorated并添加一个包含该节点的节点   必要的图标,按钮等(就像在这里完成的那样:   https://gist.github.com/JaDogg/4d9999ba233f4a43b7c5)。这可以是   我的窗口根。

我需要什么:

  

可能的解决方案的问题是,很难定义   边界以同样的方式完成   StageStyle.DECORATED。但它是推荐的边界   带有我们自己的图标,按钮等的窗户必须与之类似   标准窗口的边框。这就是我有想法调整的原因   StageStyle中定义的元素。但问题   是的,我不知道它的名字。如果我在我的CSS中使用.root   文件只是我的根场景。但我需要整个窗口。

     

有人知道元素是如何定义的吗?或者有人知道定义StageStyles的css文件的位置吗?

     

如果我得到它,我也知道该元素的名称。除此之外   一旦我有css声明,很明显如何配置   我自己的窗口,以获得相同的边框,就像在标准窗口中一样   StageStyle.DECORATED。

     

或许是否有人知道如何定义边框以使其看起来像StageStyle.DECORATED?

2 个答案:

答案 0 :(得分:0)

Stage可以使用一些options设置样式:装饰,未装饰,透明,......,而Scene可以使用CSS完全设置样式。但是舞台装饰没有CSS。

装饰未修饰阶段的好资源是post

如您所见,它的图层模型将允许您使用CSS装饰边框。但这取决于你试图模仿的操作系统。

对于本机实现(主要是控件),请查看these主题:适用于Mac的AquaFX,适用于Windows 7的AeroFX或适用于Windows 8的this

答案 1 :(得分:0)

装饰舞台由本机窗口工具包通过所谓的玻璃层绘制。它是平台的原生,所以你永远不会找到一些css,...模仿它