Javafx - Get RGB Value from Node's Color Fill

sscode picture sscode · Dec 12, 2013 · Viewed 9.9k times · Source

In my javafx app, I create a circle and then allow the user to color it in...

Circle circle = new Circle();
circle.setFill(colorPicker.getValue());

Then I need to later fetch the color that the circle is and get the RGB values into hex form (#FFFFFF)

circle.getFill(); //returns a Paint object

How do I get the fill in RGB hex form??

Answer

Dale picture Dale · Dec 12, 2013

Try this:

Color c = (Color) circle.getFill();
String hex = String.format( "#%02X%02X%02X",
            (int)( c.getRed() * 255 ),
            (int)( c.getGreen() * 255 ),
            (int)( c.getBlue() * 255 ) );

Hope it helps.