我有一个CSS文件,用于设置我的应用程序MusicPlayer的样式。我正在尝试设置名为sliderText的javafx.scene.text.Text数组。但没有任何作用。即使我使用.text
,它也可以设置其他所有文本的样式,除了我的sliderText数组。任何想法如何让这个工作?
感谢
继承人我的滑块文字声明=
public static javafx.scene.text.Text[] sliderText = new Text[10];
也是一般性的问题,我如何在javafx和CSS中使用.setID()?
我尝试过以下操作:
.text {
-fx-font-size: 32px;
-fx-font-family: "Arial Black";
-fx-fill: #818181;
-fx-effect: innershadow( three-pass-box , rgba(0,0,0,0.7) , 6, 0.0 , 0 , 2 );
}
除了我想要的所有内容之外,其他所有内容都会发生变化
答案 0 :(得分:2)
默认情况下,Text
objects have no style class attached to them。 (只有Control
设置了默认样式类。)因此,您的规则(适用于样式类“text”)将不适用于您的文本对象。
basic CSS tutorial for JavaFX涵盖了所有这些,但简要地说,您需要执行类似
的操作for (Text text : sliderText) {
text.getStyleClass().add("text");
}
在构造函数中或在start()
方法或初始化方法中(您没有为代码显示足够的上下文,以便我了解您的应用程序是如何设置的)。
对于你的问题:
如何在javafx和CSS中使用.setID()?
你可以做到
someNode.setId("specialNode");
然后在CSS中
#specialNode {
/* style rules for specialNode here.... */
}
对于任何场景图中的单个节点,ID应该是唯一的。