如何从 javafx 中的一个样式表为具有相同 类 的节点设置不同的样式
how to set different styles to nodes with same classes from one stylesheet in javafx
我在为我的节点设置样式时遇到问题。我想为场景中的每个节点设置一个默认样式 (.Style2),然后我想为每个节点设置另一种样式,但问题是我有只有一种样式 sheet 我无法添加另一种样式,因为我无法到达其他 class 中的场景
这是我的风格sheet
.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;
}
}
当我将样式 sheet 添加到我的场景并添加样式 2 class 时,这两个 class 都会添加到我的场景中,我不希望这种情况发生。 ..
请帮帮我
感谢
我从未在 JavaFX CSS 文件中见过这种 class 层次结构。您可以向场景或场景中的节点添加多个样式表(css 文件)。如果将样式表添加到节点,它将影响节点和所有子节点,并且作为场景的样式表将具有更高的优先级。
最佳实践:您可以从任何节点 (sceneProperty) 访问场景,然后向场景添加或移除第二个节点。此样式表的优先级高于第一个。
我在为我的节点设置样式时遇到问题。我想为场景中的每个节点设置一个默认样式 (.Style2),然后我想为每个节点设置另一种样式,但问题是我有只有一种样式 sheet 我无法添加另一种样式,因为我无法到达其他 class 中的场景 这是我的风格sheet
.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;
}
}
当我将样式 sheet 添加到我的场景并添加样式 2 class 时,这两个 class 都会添加到我的场景中,我不希望这种情况发生。 ..
请帮帮我
感谢
我从未在 JavaFX CSS 文件中见过这种 class 层次结构。您可以向场景或场景中的节点添加多个样式表(css 文件)。如果将样式表添加到节点,它将影响节点和所有子节点,并且作为场景的样式表将具有更高的优先级。 最佳实践:您可以从任何节点 (sceneProperty) 访问场景,然后向场景添加或移除第二个节点。此样式表的优先级高于第一个。