gpt4 book ai didi

javafx - 我从 FXML 文件调用样式表 (css) 的语法有什么问题?

转载 作者:行者123 更新时间:2023-12-05 00:26:31 25 4
gpt4 key购买 nike

我在 NetBeans 8 中工作,使用 Java 8/JavaFX 和 FXML。

在我的 FXML 文档中的第一个 Controller (一个 AnchorPane)中,我有这个,它有效:

stylesheets="file:///C:/Users/me/Documents/NetBeansProjects/MyApp/src/myApp/myStyle.css"

但是,当我尝试用任何类型的相对路径替换它时,我在运行时收到以下错误:
com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged
WARNING: Resource "myStyle.css" not found.

我试过
stylesheets="myStyle.css"
stylesheets="file://myStyle.css"
stylesheets="./myStyle.css"
stylesheets="css/myStyle.css"

(我将 css 文件的副本放在它所在的子目录中)

...也许还有 50 种其他排列。每次我都遇到同样的错误。

我关心的原因是我遇到了第二个问题。在第一个版本中,这适用于我的机器......当我将我的 jar 文件带到另一台机器时,当应用程序运行时不会应用 css......就像没有复制资源文件一样。

帮助?

谢谢!

-阿迪娜

最佳答案

让我考虑您的项目结构如下

MyApp
|
|_ src
|
|_controllers (Controllers)
|_view (FXML)
|_style (css)
|_myStyle.css

您可以使用指定 FXML 中的相对路径
<stylesheets>
<URL value="@../style/myStyle.css" />
</stylesheets>

在您的 Controller 中,您可以按如下方式添加它
layout.getStylesheets().add(getClass().
getResource("/style/myStyle.css")).toExternalForm();

关于javafx - 我从 FXML 文件调用样式表 (css) 的语法有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22043650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com