当该文件的路径包含一个或多个空格时,加载外部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中的已知错误还是我的代码有问题?
答案 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();
}