2016-05-13 11 views
0

Problembeschreibung - In meiner Anwendung muss ich die Farbe des Kachelbereichs (oder eines anderen Steuerelements) abrufen, aber ich finde keine Eigenschaft/Funktion.Wie bekomme ich die Hintergrundfarbe des Kachelbereichs in Javafx?

Ich verwende Kachelfenster, um Farbfelder anzuzeigen, und auf seinem Klickereignis möchte ich seine Hintergrundfarbe.

Was ich will: Ich möchte diese Hintergrundfarbe der Kontrolle auf seinem Click-Ereignis bekommen

+0

Sie sollen überprüfen frage: http://stackoverflow.com/questions/30851893/javafx-how-to-get-background-color-of-tab-button-etc – DVarga

Antwort

2

Versuchen Sie dies in der ActionEvent Sie können dies

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 :) 

Hoffe, es hilft

+0

Vielen Dank, mein Herr, aber ich löste es, indem Sie benutzerdefinierte Kontrolle mit Farbe zurück Eigentum –

+0

Pro babily besser, um die letzte Füllung zu bekommen, da es das letzte ist, das gerendert wird (gemäß der Dokumentation von javafx.scene.layout.Background "Jeder definierte BackgroundFill wird in der Reihenfolge gerendert"). Also sollte es 'b.getFills() sein. Get (b.getFills(). Size() - 1) .getFill()' anstelle von 'b.getFills(). Get (0) .getFill()' – negste

Verwandte Themen