首页 文章

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

提问于
浏览
0

我有一个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 回答

  • 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应该是唯一的 .

相关问题