2013-12-12 48 views
7

在我的JavaFX应用程序,我创建了一个圆,然后允许用户在色彩上它...JavaFX的 - 从节点的颜色RGB获取填充值

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

然后,我需要后来取颜色的圈并获得RGB值转换成十六进制形式(#FFFFFF)

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

我如何在RGB十六进制形式填充?

回答

11

试试这个:

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

希望它能帮助。

+0

工作正常!非常感谢你。 – sscode

+0

不客气。很高兴帮助:) – Dale