ControlsFX PopOver - 添加样式 类 切断边框
ControlsFX PopOver - adding style classes cuts off the borders
我一直在使用 controlsFX 的 PopOver 节点,所以我想更改控件的背景颜色,所以我更改了内容节点的背景颜色,但留下了箭头和 header无色 here (The white boxes are just cards and are meant to be white) so i tried this approach that i've found here
globalScopingPopOver.show(owner);
((Parent) globalScopingPopOver.getSkin().getNode()).getStylesheets()
.remove(getClass().getResource("/css/myCustomPopOver.css").toExternalForm());
((Parent) globalScopingPopOver.getSkin().getNode()).getStylesheets()
.add(getClass().getResource("/css/myCustomPopOver.css").toExternalForm());
其中 myCustomPopOver.css 包含:
.popover > .border {
-fx-fill: rgb(0,0,0);
}
.popover > .header {
-fx-fill: rgb(0,0,0);
}
给我留下了 this,它有两个明显的问题,第一个是右边框被修剪,第二个是箭头隐藏在页脚栏下面。
通过拖动分离弹出窗口修复了正确的边框问题,但是通过代码分离和重新附加它会让我们回到我们开始删除 CSS 样式表的效果的地方:
globalScopingPopOver.detach();
globalScopingPopOver.setDetached(false);
请问为什么会发生这种情况以及如何解决?
谢谢!
添加样式表后第二次调用 show(owner)
成功了。
我一直在使用 controlsFX 的 PopOver 节点,所以我想更改控件的背景颜色,所以我更改了内容节点的背景颜色,但留下了箭头和 header无色 here (The white boxes are just cards and are meant to be white) so i tried this approach that i've found here
globalScopingPopOver.show(owner);
((Parent) globalScopingPopOver.getSkin().getNode()).getStylesheets()
.remove(getClass().getResource("/css/myCustomPopOver.css").toExternalForm());
((Parent) globalScopingPopOver.getSkin().getNode()).getStylesheets()
.add(getClass().getResource("/css/myCustomPopOver.css").toExternalForm());
其中 myCustomPopOver.css 包含:
.popover > .border {
-fx-fill: rgb(0,0,0);
}
.popover > .header {
-fx-fill: rgb(0,0,0);
}
给我留下了 this,它有两个明显的问题,第一个是右边框被修剪,第二个是箭头隐藏在页脚栏下面。
通过拖动分离弹出窗口修复了正确的边框问题,但是通过代码分离和重新附加它会让我们回到我们开始删除 CSS 样式表的效果的地方:
globalScopingPopOver.detach();
globalScopingPopOver.setDetached(false);
请问为什么会发生这种情况以及如何解决?
谢谢!
添加样式表后第二次调用 show(owner)
成功了。