JavaFX CSS错误(属性样式表不存在)

Ale*_*lex 9 css java javafx intellij-idea

我刚刚开始使用最新的Java7 SDK在IntelliJ中构建JavaFX应用程序.

我使用Oracle Scene Builder构建了我的界面,所有内容都在预览中运行并显示正常,但是当我尝试编译我的程序时,我收到以下错误

`Property "stylesheets" does not exist or is read-only`
Run Code Online (Sandbox Code Playgroud)

根据JavaFX文档判断stylesheets="@MainView.css",我的FXML中的行不会显示无效.

有人知道我为什么会收到这个错误吗?(如果我删除了样式表的链接,我的程序编译得很好,所以问题仅在于样式表,我很难过!)

Fox*_*ion 6

您在Scene Builder 2中创建了一个FXML并在JDK 7中运行.SB 2"尝试"创建Java 8兼容的FXML代码.修复FXML:

  1. 删除stylesheets="@MainView.css"属性
  2. 添加<?import java.net.*?>进口
  3. 在父窗格的末尾添加以下代码</children>(在我的情况下是之前</AnchorPane>):

    <stylesheets>
      <URL value="@MainView.css" />
    </stylesheets>
    
    Run Code Online (Sandbox Code Playgroud)


Ale*_*lex 4

事实证明,我需要在 start() 方法中手动链接样式表,因为 JavaFX7 不支持样式表标签。

\n\n

为了解决这个问题,我在 Start() 方法中调用了以下命令

\n\n
root.getStylesheets().add(this.getClass().getResource("view/MainView.css").toExt\xe2\x80\x8c\xe2\x80\x8bernalForm());\n
Run Code Online (Sandbox Code Playgroud)\n\n

在哪里root我的 FXMLLoader 的名称在

\n