2014-06-24 63 views

回答

9

解決方案

替換您的Group使用與Pane事情會表現類似,除非你將獲得使用CSS做的東西一樣風格的窗格的背景的能力。

背景

如果你想風格的CSS父節點,使用的東西從Region派生:

地區是所有基於節點的JavaFX UI控件的基類,和所有佈局容器。它是一個可調整大小的Parent節點,可以從CSS進行樣式化。它可以有多個背景和邊框。它旨在支持與JavaFX相關的儘可能多的背景和邊框CSS3規範。

組A被設計成是一個非常輕量的父,這將產生最小處理和存儲開銷,因此它supports only very minimal CSS properties(並且不支持CSS背景)。另一方面,它提供了廣泛的CSS樣式功能。

A Pane是一個具體的Region子類,其行爲最像一個組(例如,它不會執行隱式佈局,而是手動佈局窗格中的節點)。

替代的解決方案

此替代的解決方案允許將「背景」節點添加到組中。它在代碼中工作,而不是CSS。

添加到組中的項目由繪畫算法分層,從後到前。因此,添加一個彩色矩形作爲組中的第一項,矩形將有效地形成組的背景。

+0

+1爲背景! – ItachiUchiha

+0

之前我曾考慮過您的備用解決方案,但我認爲使用Pane可以更輕鬆地處理組件。非常感謝! – NovoBook

1

其實,我在javaFx中說一切皆有可能,因爲它們夠酷。

所以假設你Group是組和你想改變Background

ColorInput ci = new ColorInput(group.getLayoutX(), 
      group.getLayoutY(), 
      group.getLayoutBounds().getWidth(), 
      group.getLayoutBounds().getHeight(), 
      Color.WHITE); 
    group.setEffect(ci); 

kabooommm !!!!我有一個白色的背景!

Color.RED); //i change the last part to red 
    group.setEffect(ci); 

kaboomm! kabooom!我有紅色背景

fyi:這會導致你一些關係問題。

希望它有幫助

+0

這個'背景'似乎勾畫了組中的所有其他對象... – Sman789