把字符串表达的颜色值转换成java.awt.Color
[url]http://hi.baidu.com/hardneedl/item/1d8b975b122dd308e6c4a5da[/url]
RGB颜色值是这样表述的:RRGGBB 六位的16进制来表示“红” "绿" "蓝"各分量。转换的代码是先分析出各分量而后用安全展开式计算出整型数值来创建 Color 的实例。
实际上可以用 java.lang.Integer.parseInt(String , int ) 方法来转换。这个方法的参数列表上有进制的指示,所以转换的代码就很简单了,比如说,转换颜色 "FF00FF"到Color实例,就可这样:
Integer.parseInt("FF00FF", 16);//指示了参数以16进制表达的,要转换出整型值
转换颜色的关键地方已经说明了,那么来作个“工具方法”吧:
这个方法声明了抛出数字格式化异常,需要调用者抓捕异常。
既然代码这么简单,有必要作成工具方法吗?要知道,方法的调用是要额外的内存和C
[url]http://hi.baidu.com/hardneedl/item/1d8b975b122dd308e6c4a5da[/url]
RGB颜色值是这样表述的:RRGGBB 六位的16进制来表示“红” "绿" "蓝"各分量。转换的代码是先分析出各分量而后用安全展开式计算出整型数值来创建 Color 的实例。
实际上可以用 java.lang.Integer.parseInt(String , int ) 方法来转换。这个方法的参数列表上有进制的指示,所以转换的代码就很简单了,比如说,转换颜色 "FF00FF"到Color实例,就可这样:
Integer.parseInt("FF00FF", 16);//指示了参数以16进制表达的,要转换出整型值
转换颜色的关键地方已经说明了,那么来作个“工具方法”吧:
/**
* @param c 例如 ff0000 六位的十六进制字符串表示红色
* @return java.awt.Color 对象的实例
* @exception NumberFormatException
*/
public static java.awt.Color parseToColor(final String c)throws NumberFormatException{
return new java.awt.Color(Integer.parseInt(c, 16));
}
这个方法声明了抛出数字格式化异常,需要调用者抓捕异常。
既然代码这么简单,有必要作成工具方法吗?要知道,方法的调用是要额外的内存和C