如何在javafx中的一个样式表中为具有相同类的节点设置不同的样式

时间:2015-06-27 22:08:32

标签: css javafx javafx-2 javafx-8

我在为节点设置样式时遇到问题。我想为场景中的每个节点设置默认样式(.Style2)然后我想为每个节点设置另一种样式但问题是我只有1样式表,我不能添加另一个,因为我无法到达其他类中的场景 这是我的样式表

   .Style1{
    .buttons{
     -fx-background-color: #ccffff;
      -fx-background-radius: 0;


    }

.textfields{
    -fx-background-color: #E4F5F3;
    -fx-background-radius: 0;
}
.hboxes{
    -fx-background-color: #ccffff;
    -fx-background-radius: 0;
}
}

 .Style2{

.textfields {

    -fx-background-color: #ffffff;
}

.hboxes{
    -fx-border-color: #A2A6A5 ;



}

.buttons{
    -fx-background-color: #1dc7be ;
    -fx-background-radius: 0;


}
 }

当我将样式表添加到我的场景并添加Style2类时,这两个类都将添加到我的场景中,我不希望发生这种情况...

请帮帮我

THX

1 个答案:

答案 0 :(得分:1)

我从未在JavaFX CSS文件中看到过这个类层次结构。您可以向场景或场景中的节点添加多个样式表(css文件)。如果将样式表添加到节点,它将影响节点和所有子节点,并将具有更高的优先级作为场景的样式表。 最佳实践:您可以从任何节点(sceneProperty)访问场景,然后在场景中添加或删除第二个场景。此样式表的优先级高于第一个样式表。