2014-10-09 45 views
0

大家好,我無法將樣式表從c驅動器添加到我的JavaFX應用程序。JavaFX無法從c驅動器添加文件

我收到以下錯誤: 警告:未找到資源「file:/// c:\ Program Files \ TSudio Edix 1X \ Style.css」。

這裏是我的代碼:

Main.addExternalStyleSheet("c:\\Program Files\\TSudio Edix 1X\\Style.css"); 

這裏的地方,我嘗試添加樣式表:如何得到它的工作

public static void addExternalStyleSheet(String filelocation) { 
    File f = new File(filelocation); 
    scene.getStylesheets().clear(); 
    scene.getStylesheets().add("file:///" + f.getAbsolutePath()); 
} 

任何想法的。

哦,我的文件的位置爲:C:\ Program Files文件\ TSudio Edix 1X \ style.css的

回答

0

許多字符,這是合法的文件名不是在URL中的法律。例如,URL只使用斜線(「/」)來分隔目錄,而不管當前的平臺;反斜槓(「\」)不是合法的字符。而且,空格不是合法的字符。而且,ASCII範圍之外的所有內容都必須使用UTF-8編碼,然後轉換百分比。

因此,只需將file://放在文件路徑的前面就不會創建有效的URL。

的正確方法從文件名獲得一個網址爲:

Paths.get(filelocation).toUri().toString() 

更多信息可以在documentation for the URI classRFC 2396被發現。 (每個URL都是一個URI,儘管URI不僅僅包含URL)。

+0

非常感謝您的幫助和工作:-) – ZinXanCraft 2014-10-10 14:28:09

相關問題