2
我刚刚开始在javafx 2中使用CSS。我在从窗格中删除CSS样式类时遇到了一些问题。javafx-2 getStyleClass()。removeAll
的窗格获取基于自定义对象的布尔值,背景颜色和边框:
//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
}
}
...
上述作品。
但是,在我设置pRA节点上的样式类之前,我通过调用resetGUI()方法来重置CSS,因为当kw对象为null时,不应该应用CSS。
public void resetGUI(){
...
pRA.getStyleClass().removeAll("error", "success");
...
}
似乎取消StyleClasses不起作用。如果kw对象为null,我希望pRa节点看起来像是'default'。我是否必须自己在CSS文件中创建一个“默认”类?那不应该是我假设的情况?
这是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;}
也许有帮助看看[本问答] (http://stackoverflow.com/q/10887525/682495) – 2012-07-18 11:08:26
你是对的。直到前面提到的错误得到解决,自己分配一个'默认'类是一个必需的解决方法。 – pmoule 2012-07-18 20:35:21