package com.tsxs.test;import java.awt.Color;public class TestColor {public static void main(String[] args) {System.out.println(toHexFromColor(Color.BLUE));System.out.println(toColorFromString(toHexFromColor(Color.BLUE)));}/*** Color对象转换成字符串* @param color Color对象* @return 16进制颜色字符串* */private static String toHexFromColor(Color color){String r,g,b;StringBuilder su = new StringBuilder();r = Integer.toHexString(color.getRed());g = Integer.toHexString(color.getGreen());b = Integer.toHexString(color.getBlue());r = r.length() == 1 ? "0" + r : r;g = g.length() ==1 ? "0" +g : g;b = b.length() == 1 ? "0" + b : b;r = r.toUpperCase();g = g.toUpperCase();b = b.toUpperCase();su.append("0xFF");su.append(r);su.append(g);su.append(b);//0xFF0000FFreturn su.toString();}/*** 字符串转换成Color对象* @param colorStr 16进制颜色字符串* @return Color对象* */public static Color toColorFromString(String colorStr){colorStr = colorStr.substring(4);Color color = new Color(Integer.parseInt(colorStr, 16)) ;//java.awt.Color[r=0,g=0,b=255]return color;}
}
输出结果:
0xFF0000FF
java.awt.Color[r=0,g=0,b=255]