使用JColorChooser获取HTML颜色代码

5

有没有一种方法可以从JColorChooser获取html颜色代码?

我的Java Applet从用户那里获取三种颜色,对它们求平均值并显示颜色。

我想在他们查看平均颜色后获取html颜色代码。

我该怎么做呢?

2个回答

7

编写一种方法,将Color转换为String

HTML颜色代码只是将R、G和B值转换为十六进制,并以带有井号的字符串形式显示。这是一个相当简单的方法。

public static String toHexString(Color c) {
  StringBuilder sb = new StringBuilder("#");
if (c.getRed() < 16) sb.append('0'); sb.append(Integer.toHexString(c.getRed()));
if (c.getGreen() < 16) sb.append('0'); sb.append(Integer.toHexString(c.getGreen()));
if (c.getBlue() < 16) sb.append('0'); sb.append(Integer.toHexString(c.getBlue()));
return sb.toString(); }

1
new StringBuilder('#') ==> new StringBuilder("#") - terentev
@user249654,我没意识到没有字符构造函数!我猜我的代码只是将它自动装箱为一个字符串。感谢你的发现! - Erick Robertson
@ErickRobertson +1 你也可以使用在这里描述的Color.getRGB() - tenorsax

1
一个稍微简短的版本,依赖于Color.getRGB() :
public String color2HexString(Color color) {
    return "#" + Integer.toHexString(color.getRGB() & 0x00ffffff);
}

有关 Web 颜色的更多信息,请参见十六进制三位代码


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接