javaFX css 文本数组的样式不起作用

javaFX css styling for an array of text not working

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

这几乎改变了一切,除了我想要的

默认情况下,Text objects have no style class attached to them。 (只有 Control 设置了默认样式 classes。)因此您的规则(适用于样式 class "text")将不适用于您的文本对象。

basic CSS tutorial for JavaFX 涵盖了所有这些,但简单地说,您需要做一些类似

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

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

针对您的问题:

how do i use .setID() in both javafx and CSS?

你可以做到

someNode.setId("specialNode");

然后在CSS

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

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