目前我的第二学期正在进行一个项目,我们第一次使用了 Enum 类。目前它包含我们用来在 MapCanvas 类中着色的 WayTypes。 我想迭代这个类,并在迭代期间为不同的枚举分配不同的颜色,但我不知道如何实现。
目前我的枚举类如下所示:
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();
}
非常感谢任何帮助。 预先感谢:)
最佳答案
正如@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;
}
}
关于java - 循环遍历枚举类并为每个 [JAVA] 分配颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55280155/