在路径中加载带有空格的JavaFX CSS

时间:2015-09-24 08:47:14

标签: css javafx path

当该文件的路径包含一个或多个空格时,加载外部CSS文件时出现问题。

控制台上显示以下警告:

  

2015年9月24日上午10:27:25 com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged   警告:资源文件://// home / user1 / css / 样式一个 /theme.css"没找到。

getScene().getStylesheets().add("file:////home/user1/css/styles one/theme.css");

这是JavaFX中的已知错误还是我的代码有问题?

1 个答案:

答案 0 :(得分:1)

您应该在此处使用编码的网址,即所有空格字符都应替换为%20

您需要将style one替换为styles%20one

代码:

getScene().getStylesheets().add("file:////home/user1/css/styles%20one/theme.css");

您可能不想手动编码,因此您可以使用:

try {
    URL url = new File(fileName).toURI().toURL();
    String encodedFileName = url.toString();
} catch (MalformedURLException e) {
    e.printStackTrace();
}