更新到 JDK 9 后不起作用。
<stylesheets>
<URL value="@MainView.css" />
</stylesheets>
原因:java.lang.IllegalArgumentException:无法将 @MainView.css 强制转换为 java.net.URL 类。
你能帮助我吗?
更新到 JDK 9 后不起作用。
<stylesheets>
<URL value="@MainView.css" />
</stylesheets>
原因:java.lang.IllegalArgumentException:无法将 @MainView.css 强制转换为 java.net.URL 类。
你能帮助我吗?
如上所述,连接css有两种方式。为此,请在根目录中创建一个“资源”文件夹,例如“src”,然后将文件放在那里。然后你可以试试:
<stylesheets>
<URL value="@/resources/MainView.css" />
</stylesheets>
或者
stylesheets="@/resources/MainView.css"
它作为根级别的属性对我有用,这里以我的 Index.fxml 为例:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.control.*?>
<AnchorPane xmlns:fx="http://javafx.com/fxml/1" styleClass="app" stylesheets="@Index.css"
fx:controller="fr.pdem.view.IndexController" fx:id="root">
<!-- all the nodes-->
</AnchorPane>
我的策略是每个 FXML 使用一个 css 文件,所以我不需要列出文件。
旁注:不确定在导入时使用通配符是否是一种好习惯,但仅作为示例,它可以工作。