1

I have a CSS file that styles my application MusicPlayer. I'm trying to style my array of javafx.scene.text.Text named sliderText. However nothing works. even when i use .text it styles the text of everything else EXCEPT my array of sliderText. any ideas how to get this working? thanks

heres my declaration of slider text =

public static javafx.scene.text.Text[] sliderText = new Text[10];

also general question, how do i use .setID() in both javafx and CSS?

I've tried doing the following:

 .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 );
}

And that changes literally everything except what i want it to

4

1 回答 1

3

默认情况下,Text对象没有附加样式类。(只有Controls 设置了默认样式类。)因此,您的规则(适用于样式类“文本”)将不适用于您的文本对象。

JavaFX的基本 CSS 教程涵盖了所有这些,但简要地说,您需要做一些类似的事情

for (Text text : sliderText) {
    text.getStyleClass().add("text");
}

在构造函数或start()方法或初始化方法中(您没有为您的代码显示足够的上下文,让我知道您的应用程序是如何设置的)。

对于您的问题:

如何在 javafx 和 CSS 中使用 .setID()?

你可以做

someNode.setId("specialNode");

然后在 CSS

#specialNode {
    /* style rules for specialNode here.... */
}

Id 对于任何场景图中的单个节点都应该是唯一的。

于 2015-01-26T02:42:27.003 回答