我一直在使用controlsFX的PopOver节点,所以我想更改控件的背景颜色,所以我改变了我的内容节点的背景颜色但是留下了箭头和标题未着色{ {3}}(白盒子只是卡片,本来是白色的)所以我尝试了这种方法,我发现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);
}
给我留下了here,它有两个明显的问题,第一个是修剪右边框,第二个是箭头隐藏在页脚栏下面。
通过拖动分离弹出窗口修复了右边框问题,但是通过代码分离和重新附加它会将我们带回到我们开始删除CSS样式表效果的位置:
globalScopingPopOver.detach();
globalScopingPopOver.setDetached(false);
所以任何帮助为什么会发生这种情况以及如何解决它?
谢谢!
答案 0 :(得分:1)
添加样式表后第二次调用show(owner)
对我来说很有用。