首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javafx-2 getStyleClass().removeAll

javafx-2 getStyleClass().removeAll
EN

Stack Overflow用户
提问于 2012-07-18 18:47:08
回答 1查看 6.6K关注 0票数 2

我刚开始在JavaFX2中使用CSS,在从Pane中删除CSS样式类时遇到了一些问题。

该窗格根据自定义对象的布尔值获取背景色和边框:

代码语言:javascript
复制
//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。

代码语言:javascript
复制
public void resetGUI(){
    ...
    pRA.getStyleClass().removeAll("error", "success");
    ...
}

移除StyleClasses似乎不起作用。如果kw对象为空,我希望pRa节点看起来像'default‘。我必须自己在CSS文件中创建一个'default‘类吗?我想不应该是这样吧?

这是css:

代码语言:javascript
复制
.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;}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-25 00:13:39

正如pmoule评论的那样:

自己指定默认样式,方法是使用

代码语言:javascript
复制
pRA.getStyleClass().add("default");

别忘了把它添加到css中

代码语言:javascript
复制
.default {...}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11539617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档