public static RgbaColor fromHex(String hex) {
        if (hex.length() == 0 || hex.charAt(0) != '#') return getDefaultColor();

        // #rgb
        if (hex.length() == 4) {

            return new RgbaColor(parseHex(hex, 1, 2),
                                 parseHex(hex, 2, 3),
                                 parseHex(hex, 3, 4));

        }
        // #rrggbb
        else if (hex.length() == 7) {

            return new RgbaColor(parseHex(hex, 1, 3),
                                 parseHex(hex, 3, 5),
                                 parseHex(hex, 5, 7));

        }
        else {
            return getDefaultColor();
        }
    }
public static RgbaColor fromHex ( String hex ) { if ( hex . length ( ) == 0 || hex . charAt ( 0 ) != '#' ) return getDefaultColor ( ) ; if ( hex . length ( ) == 4 ) { return new RgbaColor ( parseHex ( hex , 1 , 2 ) , parseHex ( hex , 2 , 3 ) , parseHex ( hex , 3 , 4 ) ) ; } else if ( hex . length ( ) == 7 ) { return new RgbaColor ( parseHex ( hex , 1 , 3 ) , parseHex ( hex , 3 , 5 ) , parseHex ( hex , 5 , 7 ) ) ; } else { return getDefaultColor ( ) ; } }
Parses an RgbaColor from a hexadecimal value.

@return returns the parsed color