Uma maneira de obter um código de cor hexadecimal correspondente, dado um object Color em Java?

Eu inspecionei a documentação da class Java para Color e descobri que posso gerar um object Color a partir de uma string de código hexadecimal (eg "#FFFFFF") usando o Color.decode(); método.

Eu gostaria de implementar o processo inverso para um projeto no qual estou trabalhando, mas não parece haver um método já embutido na class para isso.

Existe uma maneira fácil de fazer isso?

 String.format("#%06x", color.getRGB() & 0x00FFFFFF) 

O mascaramento é usado para remover o componente alfa, em bits 24-31

 Color color = Color.BLUE; Formatter f = new Formatter(new StringBuffer("#")); f.format("%02X", color.getRed()); f.format("%02X", color.getGreen()); f.format("%02X", color.getBlue()); f.toString(); //#0000FF 

Leia isto: Obtendo códigos de colors HTML com um JColorChooser

A resposta tem um método para converter uma cor em seu valor hexadecimal.

Existe outro caminho. Pensei em adicionar essa alternativa.

 // ARGB = (255, 255, 0, 0) (Red) // hex -> "ffff0000" String hex = Integer.toHexString(color.getRGB()); // Reduced to RGB: hex -> "#ff0000" hex = "#" + hex.substring(2, hex.length());