javaFX css样式为一组文本无法正常工作

时间:2015-01-26 02:21:03

标签: css javafx javafx-css

我有一个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 );
}

除了我想要的所有内容之外,其他所有内容都会发生变化

1 个答案:

答案 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应该是唯一的。