ade*_*ena 4 javafx java-8 fxml
我在NetBeans 8中使用Java 8/JavaFX和FXML.
在我的FXML文档中的第一个控制器(一个AnchorPane)中,我有这个,它有效:
stylesheets="file:///C:/Users/me/Documents/NetBeansProjects/MyApp/src/myApp/myStyle.css"
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试用任何类型的相对路径替换它时,我在运行时收到以下错误:
com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged
WARNING: Resource "myStyle.css" not found.
Run Code Online (Sandbox Code Playgroud)
我试过了
stylesheets="myStyle.css"
stylesheets="file://myStyle.css"
stylesheets="./myStyle.css"
stylesheets="css/myStyle.css"
Run Code Online (Sandbox Code Playgroud)
(我把css文件的副本放在它所在的子目录中)
......也许还有其他50种排列.每次我得到同样的错误.
我关心的原因是我遇到了第二个问题.在第一个版本中,这可以在我的机器上运行...当我将我的jar文件带到另一台机器时,运行应用程序时不会应用css ...就像资源文件没有被复制一样.
救命?
谢谢!
-Adeena
让我考虑一下您的项目结构如下
MyApp
|
|_ src
|
|_controllers (Controllers)
|_view (FXML)
|_style (css)
|_myStyle.css
Run Code Online (Sandbox Code Playgroud)
您可以使用FXML来指定相对路径
<stylesheets>
<URL value="@../style/myStyle.css" />
</stylesheets>
Run Code Online (Sandbox Code Playgroud)
在控制器中,您可以按如下方式添加它
layout.getStylesheets().add(getClass().
getResource("/style/myStyle.css")).toExternalForm();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11000 次 |
| 最近记录: |