遍历枚举类并为每个[JAVA]分配颜色

时间:2019-03-21 12:10:24

标签: java enums

目前正在第二学期工作,该项目是我们第一次使用Enum类的项目。当前,它包含我们用来在MapCanvas类中着色的WayType。 我想遍历该类,并在此迭代期间将不同的颜色分配给不同的枚举,但是我不知道该怎么做。

目前我的Enum类如下:

public enum WayType {
UNKNOWN, BUILDING, WATER, COASTLINE, LANDUSE, LEISURE, FARMLAND, 
BICYCLE, FOOTWAY, PRIMARYROAD, MOTORWAY, TERTIARYROAD, SECONDARYROAD;
}

目前我们如何在MapCanvas中应用颜色:

    gc.setFill(Color.LIGHTGREEN);
    for (Drawable way : model.getWaysOfType(WayType.LANDUSE)) 
    way.fill(gc);
    for (Drawable way : model.getWaysOfType(WayType.LANDUSE)) 
    way.stroke(gc);

描边和填充方法如下:

    public void stroke(GraphicsContext gc) {
    gc.beginPath();
    trace(gc);
    gc.stroke();
}

    public void fill(GraphicsContext gc) {
    gc.beginPath();
    trace(gc);
    gc.fill();
}

任何帮助将不胜感激。 在此先感谢:)

1 个答案:

答案 0 :(得分:0)

如@adickinson所建议:

import java.awt.Color;

public enum WayType {
    UNKNOWN(Color.Black), BUILDING(Color.Gray), WATER(Color.Blue), 
    COASTLINE(Color.DarkBlue), LANDUSE(Color.Green) /*... to complete*/;

    private Color color;

    private WayType(Color color) {
        this.color=color;
    }
    public Color getColor() {
        return color;
    }
}