返回标准Java颜色的颜色类

时间:2014-11-24 20:13:06

标签: java colors

此代码创建标准Java颜色的列表,然后返回它们。

是否有更好的方法可以达到相同的效果。

public class Color_list {
    Color[] mycolors;

    Color_list() {
        mycolors = new Color[] { Color.BLACK, Color.BLUE, Color.CYAN,
                Color.DARK_GRAY, Color.GRAY, Color.GREEN, Color.LIGHT_GRAY,
                Color.MAGENTA, Color.ORANGE, Color.PINK, Color.RED,
                Color.WHITE, Color.YELLOW };
    }

    public Color returncol(int selectedcol) {
        return mycolors[selectedcol];
    }
}

1 个答案:

答案 0 :(得分:0)

因为这些值不代表枚举,所以没有简单的方法以列表类型的方式获取它们。但是,您可以使用反射,并获取所有静态成员的列表,这些成员是字段,其名称与"^[A-Z_]+$"匹配。

或者,您可以创建自己的枚举:

public enum StandardColor {
    BLACK(Color.BLACK)
    // ...
    ;

    private StandardColor(Color color) {
        // null checking if you want
        this.color = color;
    }

    public Color getColor() {
        return color;
    }

    private final Color color;
}