簡體   English   中英

JavaFX CSS錯誤(屬性樣式表不存在)

[英]JavaFX CSS Error ( Property Stylesheets does not exist )

我剛剛開始使用最新的Java7 SDK在IntelliJ中構建JavaFX應用程序。

我使用Oracle Scene Builder構建了我的界面,所有內容都在預覽中運行並顯示正常,但是當我嘗試編譯我的程序時,我收到以下錯誤

`Property "stylesheets" does not exist or is read-only`

根據JavaFX文檔判斷我的FXML中的stylesheets="@MainView.css"似乎無效。

有人知道我為什么會收到這個錯誤嗎? (如果我刪除了樣式表的鏈接,我的程序編譯得很好,所以問題僅在於樣式表,我很難過!)

您在Scene Builder 2中創建了一個FXML並在JDK 7中運行.SB 2“嘗試”創建Java 8兼容的FXML代碼。 修復FXML:

  1. 刪除stylesheets="@MainView.css"屬性
  2. <?import java.net.*?>添加<?import java.net.*?>
  3. 在父窗格的末尾添加以下代碼,在</children> (在我的情況下是在</AnchorPane>之前):

     <stylesheets> <URL value="@MainView.css" /> </stylesheets> 

事實證明我需要在我的start()方法中手動鏈接樣式表,因為JavaFX7不支持stylesheets標記。

為了解決這個問題,我在Start()方法中調用了以下命令

root.getStylesheets().add(this.getClass().getResource("view/MainView.css").toExt‌​ernalForm());

其中root是我的FXMLLoader的名稱。

當我嘗試在程序中設置自己的CSS屬性時,我遇到了同樣的錯誤。 如果你不這樣做,你可能正在使用一些使用JavaFX 8中引入的CSS庫的類。

嘗試在此處將JDK更新為最新發布的版本。

如果這仍然不起作用,那么應用程序中的某個地方無法正確讀取CSS文件。 可能有一些類錯誤地映射了JavaFX bean屬性。

打開Scene Builder時出現此錯誤。

安裝jdk1.8,將其設置為我的系統默認值(在/ usr / lib / jvm / default-java中)並修改我的$ PATH,其中沒有一個似乎有幫助。

然后將Scene Builder從1.1更新到2.0,將1.1二進制文件鏈接到2.0版本( 請參閱此問題 ),最后在Netbeans中設置新的Scene Builder路徑 - > tools - > options - > Java - > JavaFX,這解決了問題。 更新默認的jdk版本可能與此有關,也可能沒有。

該項目本身已經使用了jdk1.8,我沒有遇到麻煩; 我只有在Scene Builder中打開它們的問題(得到了問題標題中提到的錯誤)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM