You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaFX样式表标签报错:无法解析stylesheet符号及value属性不被允许问题求助

JavaFX样式表标签报错:无法解析stylesheet符号及value属性不被允许问题求助

嘿,我来帮你捋捋这个问题~你现在遇到的报错,核心原因是在FXML的GridPane里直接用<stylesheet>标签是不符合JavaFX FXML语法的,这个写法本身就不对,所以IDE才会提示无法识别stylesheet符号和value属性。

给你两种正确的样式表加载方式,选哪种都可以:

  • 方法一:在Java代码里给Scene添加样式表
    如果你习惯在后端代码里控制样式加载,可以在加载FXML后,获取对应的Scene对象,然后把样式表加进去,代码示例如下:

    // 加载你的FXML文件
    GridPane gridPane = FXMLLoader.load(getClass().getResource("你的FXML文件名.fxml"));
    // 创建Scene并关联GridPane
    Scene scene = new Scene(gridPane);
    // 添加样式表,注意要正确获取css文件的路径
    scene.getStylesheets().add(getClass().getResource("colours.css").toExternalForm());
    
  • 方法二:直接在FXML的根元素(GridPane)上用stylesheets属性
    这种方式更贴合FXML的写法,你只需要在GridPane的标签里添加stylesheets属性,用@符号引用你的css文件即可,示例:

    <GridPane xmlns="http://javafx.com/javafx"
              xmlns:fx="http://javafx.com/fxml"
              stylesheets="@colours.css">
        <!-- 这里放GridPane里的其他控件 -->
    </GridPane>
    

    这里的@符号是FXML里专门用来引用类路径下资源的语法,能帮你正确定位到css文件。

你原来的写法是凭空加了一个<stylesheet>标签,FXML规范里根本没有这个独立标签,所以编译器肯定会报错的,换成上面两种方法之一应该就能解决问题啦~

备注:内容来源于stack exchange,提问作者IMP9024

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 17:18:15