我刚开始在JavaFX2中使用CSS,在从Pane中删除CSS样式类时遇到了一些问题。
该窗格根据自定义对象的布尔值获取背景色和边框:
//kw is a subobject of objects in a listview, everytime the selection is changed
//the CSS on the pane gets refreshed
resetGUI();
...
if(kw != null){
if (kw.getAfgewerkt()) {
pRA.getStyleClass().add("success"); //true
} else {
pRA.getStyleClass().add("error"); //false
}
}
...上面的方法是可行的。
但是,在设置CSS节点上的样式类之前,我通过调用resetGUI()方法重置了pRA,因为当kw对象为空时,不应应用任何CSS。
public void resetGUI(){
...
pRA.getStyleClass().removeAll("error", "success");
...
}移除StyleClasses似乎不起作用。如果kw对象为空,我希望pRa节点看起来像'default‘。我必须自己在CSS文件中创建一个'default‘类吗?我想不应该是这样吧?
这是css:
.error {-fx-background-color: #FBE3E4;-fx-text-fill:#8a1f11;-fx-border-style:solid;-fx-border-color:#FBC2C4;}
.success {-fx-background-color:#E6EFC2;-fx-text-fill:#264409;-fx-border-style:solid;-fx-border-color:#C6D880;}发布于 2013-10-25 00:13:39
正如pmoule评论的那样:
自己指定默认样式,方法是使用
pRA.getStyleClass().add("default");别忘了把它添加到css中
.default {...}https://stackoverflow.com/questions/11539617
复制相似问题