1

更新到 JDK 9 后不起作用。

<stylesheets>
  <URL value="@MainView.css" />
</stylesheets>

原因:java.lang.IllegalArgumentException:无法将 @MainView.css 强制转换为 java.net.URL 类。

你能帮助我吗?

4

2 回答 2

0

如上所述,连接css有两种方式。为此,请在根目录中创建一个“资源”文件夹,例如“src”,然后将文件放在那里。然后你可以试试:

<stylesheets>
    <URL value="@/resources/MainView.css" />
</stylesheets>

或者

stylesheets="@/resources/MainView.css"
于 2020-04-05T20:09:45.257 回答
0

它作为根级别的属性对我有用,这里以我的 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 文件,所以我不需要列出文件。

旁注:不确定在导入时使用通配符是否是一种好习惯,但仅作为示例,它可以工作。

于 2018-01-23T10:45:22.757 回答