2016-05-13 65 views
0

問題描述 - 在我的應用程序中,我需要取回瓦片窗格(或任何其他控件)的顏色,但我沒有找到任何屬性/函數。如何獲取Javafx中的瓦片窗格的背景顏色?

我使用平鋪窗格來顯示顏色色板,並在其單擊事件我想要它的背景顏色。

我想要什麼:我想要得到控制的背景色上的點擊事件

+0

您應檢查此問題: http://stackoverflow.com/questions/30851893/javafx-how-to-get-background-color-of-tab-button-etc – DVarga

回答

2

試試這個在ActionEvent,你可以做到這一點

handle(ActionEvent event){//suppose we are in the handle method 
    Object o = event.getSource(); 
    if(o instanceof Region){ 
     Background b = ((Region)o).getBackground(); 
     Paint p = b.getFills().get(0).getFill();//paint is actually your color :) 
     if(p instanceof Color){ 
      ((Color)p) //now you have a color :) 

希望它可以幫助

+0

謝謝先生,但我解決了它通過創建自定義控制背面顏色物業 –

+0

專業babily最好得到最後一個填充,因爲它是最後一個要呈現的(按照javafx.scene.layout.Background的文檔「每個已定義的BackgroundFill按順序呈現」)。所以它應該是'b.getFills()。get(b.getFills()。size() - 1).getFill()'而不是'b.getFills()。get(0).getFill()' – negste