为什么锚定窗格是透明的,而拆分窗格不是?(javafx)

为什么锚定窗格是透明的,而拆分窗格不是?(javafx),javafx,pane,Javafx,Pane,我想创建一个由两个锚定窗格组成的窗口 我想为根锚窗格设置一个背景图像,并将第二个放在上面。因此,我希望预览现在看起来应该是:一个白色的spacesecond锚定窗格,由根锚定窗格的背景图像的边缘作为一个框架包围。但是第二个锚窗格似乎是透明的,因为如果我进行测试,我可以看到整个背景图像 没有设置不透明度或这样的设置 我不明白这一点,因为分割平面是不透明的。。。虽然我开始明白,这些窗格和拆分窗格在某些质量上是不一样的,但我不知道为什么会这样 您认为,解决前一个问题的最佳做法是什么?谢谢大家! 默认情

我想创建一个由两个锚定窗格组成的窗口

我想为根锚窗格设置一个背景图像,并将第二个放在上面。因此,我希望预览现在看起来应该是:一个白色的spacesecond锚定窗格,由根锚定窗格的背景图像的边缘作为一个框架包围。但是第二个锚窗格似乎是透明的,因为如果我进行测试,我可以看到整个背景图像

没有设置不透明度或这样的设置

我不明白这一点,因为分割平面是不透明的。。。虽然我开始明白,这些窗格和拆分窗格在某些质量上是不一样的,但我不知道为什么会这样

您认为,解决前一个问题的最佳做法是什么?谢谢大家!

默认情况下,窗格子类是透明的。控件子类由默认CSS样式表设置样式,因此它们的背景颜色由样式决定。SplitPane是一个控件,因此其背景色由控件决定。这会将背景色设置为查找的颜色-fx背景线611,默认为底色ececec的第102行26.4%强度的较暗版本

更改锚定窗格背景的最佳方法是使用外部css文件。这意味着您可以将应用程序的样式/外观与实际的应用程序代码分开。将id添加到定位窗格:

AnchorPane maskingPane = new AnchorPane();
maskingPane.setId("masking-pane");
然后在外部css文件中,您可以

#masking-pane {
    -fx-background-color: white ;
}
或者,如果希望获得与拆分窗格相同的颜色:

#masking-pane {
    -fx-background-color: -fx-background ;
}
id应该是唯一的;如果要使多个窗格具有相同的颜色,可以改为向其添加样式类:

AnchorPane maskingPane = new AnchorPane();
maskingPane.getStyleClass().add("masking-pane");
然后css看起来像

.masking-pane {
    -fx-background-color: white ;
}
Oracle JavaFX教程有一个窗格,默认情况下子类是透明的。控件子类由默认CSS样式表设置样式,因此它们的背景颜色由样式决定。SplitPane是一个控件,因此其背景色由控件决定。这会将背景色设置为查找的颜色-fx背景线611,默认为底色ececec的第102行26.4%强度的较暗版本

更改锚定窗格背景的最佳方法是使用外部css文件。这意味着您可以将应用程序的样式/外观与实际的应用程序代码分开。将id添加到定位窗格:

AnchorPane maskingPane = new AnchorPane();
maskingPane.setId("masking-pane");
然后在外部css文件中,您可以

#masking-pane {
    -fx-background-color: white ;
}
或者,如果希望获得与拆分窗格相同的颜色:

#masking-pane {
    -fx-background-color: -fx-background ;
}
id应该是唯一的;如果要使多个窗格具有相同的颜色,可以改为向其添加样式类:

AnchorPane maskingPane = new AnchorPane();
maskingPane.getStyleClass().add("masking-pane");
然后css看起来像

.masking-pane {
    -fx-background-color: white ;
}

OracleJavaFX教程有一个

我想做相反的事情:我在一个主播内有一个拆分窗格。AnchorPane有我想要的渐变背景,但是SplitPane是不透明的。有没有办法使拆分窗格的背景透明?如果我将SplitPane本身的不透明度调整为透明,那么SplitPane中的所有控件似乎也都将变为透明。我想做的是相反的:我在一个锚内有一个SplitPane。AnchorPane有我想要的渐变背景,但是SplitPane是不透明的。有没有办法使拆分窗格的背景透明?如果我将SplitPane本身的不透明度调整为透明,则SplitPane中的所有控件似乎也将变为透明。