簡體   English   中英

使用按鈕更改背景圖像 Javafx

[英]Changing background image with Button press Javafx

我想更改場景中的背景圖像。

這來自 css 文件。

.SettingsGrid {
    -fx-background-image: url('Background.quiz.jpg');
    /*-fx-background: #ffffff;*/
    -fx-background-size: cover;
}

我試過用這個:

SettingsGrid.setStyle("-fx-background-image: url('Background2.quiz.jpg')");

但是背景並沒有變成新的圖像,而是變白了。

只需更改背景顏色即可。

嘗試指定相對於類路徑根的完全限定路徑。

解析路徑根據您是從樣式表還是內聯樣式訪問 CSS URL 資源而不同。

閱讀CSS 參考中的 uri 文檔 它寫得很好,有清晰的例子可以幫助你理解你的問題。 引用 CSS URL 分辨率的文檔:

  1. 如果地址沒有scheme:組件,則該地址僅被視為path組件。
  2. 前導/字符表示該path是相對於類路徑的根目錄的。
  3. 如果樣式出現在樣式表中並且沒有前導/字符,則路徑是相對於樣式表的基本 URI。
  4. 如果樣式以內聯樣式出現,則路徑相對於類路徑的根目錄(無論是否有前導/ )。

例子

-fx-background-image: url('Background.quiz.jpg');

當寫在 CSS 樣式表中時,這將在類路徑中查找與樣式表相鄰的圖像位置。

當以內聯樣式編寫時,它將在類路徑的根目錄中查找圖像位置。

相反,對於內聯樣式 URL,如果您指定圖像相對於類路徑根目錄的完整路徑,則將找到該圖像。

如果您將 package 您的應用程序設置為 jar,然后在打包的 jar 上運行jar tvf ,並且您的圖像位於例如位置image/Background2.quiz.jpg中,則 URL 將用於內聯樣式:

settingsGrid.setStyle("-fx-background-image: url('image/Background2.quiz.jpg')");

暫無
暫無

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

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