如何在Java中创建HTML颜色

ZDNet软件频道 时间:2003-02-13 作者:BUILDER.COM 翻译:Java研究组织 |  我要评论()
本文关键词:javatips
HTML用16进制来标识颜色,而Java则有两种方法,一种是使用颜色常量,另一种是使用整数构造颜色。Java中的颜色来自于java.awt.Color,不过它的API可不像HTML的颜色机制那样简单。

HTML用16进制来标识颜色,而Java则有两种方法,一种是使用颜色常量,另一种是使用整数构造颜色。Java中的颜色来自于java.awt.Color,不过它的API可不像HTML的颜色机制那样简单。在java中可以用以下两种方式实现颜色:

Color.blue

或者创建一种新的颜色:

 newColor(0,0,255)

但问题是,用常量表示颜色总是有限的,所以大多数颜色需要通过整型的构造方法来建立。使用16进制的整数可以轻松地将基于HTML的颜色转换成java中的颜色。比如,颜色是new Color(0,0,0xff);淡黄色是new Color(0xf5,0xef,0xd1)。

另一种转换方法是在java代码中使用getColor方法,示例如下:

package com.generationjava.awt;

import java.awt.Color;

public class ColorW {

/**
* Given a html-like color such as #bbac33, turns it
* into a java.awt.Color. The # on the front is optional.
*/
static public Color getColor(String color) {
if(color.charAt(0) == '#') {
color =color.substring(1);
}
if(color.length() != 6) {
returnnull;
}
try {
int r =Integer.parseInt(color.substring(0,2), 16);
int g =Integer.parseInt(color.substring(2,4), 16);
int b =Integer.parseInt(color.substring(4), 16);
returnnew Color(r, g, b);
} catch(NumberFormatExceptionnfe) {
returnnull;
}
}
}


责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134